Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Sheet Namen Generieren VBA
#1
Schönen Guten Abend Liebe Excel Profis,

ich komme wieder mal nicht weiter und es bedarf eurer Weisheit.
Ich möchte mit einer Userform Ordersätze für Diverse Verschiedene Standorte Generieren.
Über zwei Komboboxen wird über kombo 1 = der Standortname per dropdown ausgesucht
                                                 kombo 2 = der Jeweilige Lieferant für das betreffende Objekt gesucht.
Mit einem Klick auf einem Command Button Soll den eine Sheet Vorlage Kopiert werden und mit den beiden Komboboxen zusammengeführt den Namen des jeweiligen Sheets ergeben.
Die Zu kopierende Vorlage heißt " Bestellscheine_Vorlage", Nach der Generierung der Vorlage wird der Name des Sheets noch in eine Separate Datenbank gespeichert für die weitere Verarbeitung.

Der Code Funktioniert Soweit sehr gut. Nur Zwei Probleme Habe ich noch, wo ich nicht weiter komme:
1: Ich Möchte Das Bei der Generierten Kopie noch zwei Dinge mit Rein kopiert werde und Zwar die Daten Aus den Komboboxen.
     KomboBox1 = Variabler  Sheetname in C1
     KomboBox2 = Variabler  Sheetname in C2
     Ich weiß halt nicht wie ich alles in einem Code bekomme?
2: Die Namen Zusammengeführt Aus CB1 und CB2 kann unter Umständen einen Sehr langen Sheetnamen ergeben, was mir bei ein paar versuchen einen Fehler raus warf wegen zulange Zeichenkette.
    Gibt es eine Möglichkeit die Zeichenkette auf irgendeinen Max wert zu begrenzen im Namen ? 
    
Ich hoffe, das ich mein Problem relativ gut schildern konnte und bin Sicher das Ihr mir helfen könnt,  unten stehend ist mein Code für all das da. Besten Dank
Code:
Private Sub CommandButton1_Click()
 
  Dim BlattName$
  BlattName = Me.ComboBox1.Value & "_" & Me.ComboBox2.Value
    Sheets("Bestellschein_Vorlage").Copy After:=Sheets(Sheets.Count)
If BlattName > "" Then ActiveSheet.Name = BlattName
    ActiveSheet.Name = BlattName
Sheets("Datenbank").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Value = BlattName
Sheets.Value = BlattName.Range("C1") = ComboBox1.Value

End Sub

Private Sub UserForm_Activate()
    ComboBox1.List = Sheets("DatenBank_Lieferanschrift").Range("A2:A20").Value
        ComboBox2.List = Sheets("Datenbank_Lieferant").Range("A2:A35").Value
End Sub
Antworten Top
#2
Hallo,

zu 2. könnte so gehen:

Code:
Private Sub CommandButton1_Click()

  Dim BlattName$
  BlattName = Me.ComboBox1.Value & "_" & Me.ComboBox2.Value
  If Len(BlattName) > 100 Then blatname = Left(BlattName, 100) 'wenn Zeichenkette größer hunder, dann nur 100 lang
    Sheets("Bestellschein_Vorlage").Copy After:=Sheets(Sheets.Count)
If BlattName > "" Then ActiveSheet.Name = BlattName
    ActiveSheet.Name = BlattName
Sheets("Datenbank").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Value = BlattName
'Sheets.Value = BlattName.Range("C1") = ComboBox1.Value

End Sub

1. habe ich leider nicht verstanden.
Gruß Atilla
Antworten Top
#3
Hallöchen,

falls Du das it der Zeile versucht hast
Sheets.Value = BlattName.Range("C1") = ComboBox1.Value
dann geht das nicht ..

So wird ein Schuh draus:
Sheets(BlattName).Range("C1") = ComboBox1.Value
wobei Du an der Stelle nach wie vor im Blatt Blattname bist und entsprechend
Range("C1") = ComboBox1.Value
ausreichen würde.

Die Aufgabe ist bestimmt falsch rum gestellt -
nicht
KomboBox1 = Variabler Sheetname in C1
KomboBox2 = Variabler Sheetname in C2
sondern besser
in C1 = KomboBox1 = vorderer Teil von Variabler Sheetname
in C2 = KomboBox2 = hinterer Teil von Variabler Sheetname
und geht sicher noch besser zu beschreiben Smile
)
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#4
Tausend Dank an Euch beiden!

Alles Klappt wir geschmiert Danke!
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste