ich bin echt am verzweifeln.
Folgendes Problem:
Ich habe eine Arbeitsmappe mit 20 Tabellenblättern für je einen Lieferanten. Eine Userform zwingt den Nutzer bestimmte Angaben zu machen, die dann in das Tabellenblatt des Lieferanten übernommen werden sollen (das ist nicht das Problem). Unter anderem muss ein Lieferant über eine Combobox ausgewählt werden.
Der Eintrag der Combobox ist jedoch nicht gleich dem Tabellenblattnamen (diese heißen Lieferant 1, Lieferant 2 usw.
Die Lieferantenbezeichnung ist aber in Zelle A1 des entsprechenden Tabellenblattes angegeben. D.h. alle Tabellenblätter Zelle "A1" = Liste in der Combobox
Nun das eigentliche Problem:
Nach Abschluss aller Angaben in der Userform soll bei Klick auf OK das richtige Tabellenblatt für den ausgewählten Lieferanten aktiviert und Zelle A15 ausgewählt werden.
Ich habe es mit mehreren Schleifen versucht (do while, do until, for next, for each). Es funktioniert aber nicht. Schleifen und ich vertragen uns scheinbar nicht so gut.
hier das was ich habe:
Private Sub cmd_OK_Click()
Dim Listenauswahl As String, Überschrift As String, ws As Worksheet
Dim i As String, wsCount As String
Listenauswahl = cmb_Lieferant.Text
Überschrift = ActiveSheet.Range("A1").Value
Sheets("Startseite").Activate
If Range("C8").Value = "" Then
MsgBox "kein Lieferant vorhanden"
Exit Sub
Else
' ActiveSheet.Next.Select
For i = 1 To wsCount
If ActiveSheet.Range("A1") = Listenauswahl Then
MsgBox "Richtigen Lieferanten gefunden"
ActiveSheet.Next.Select
Else
ActiveSheet.Next.Select
End If
Next i
'oder:
For Each ws In ThisWorkbook.Worksheets
MsgBox ActiveSheet.Name
If Listenauswahl = Überschrift Then
MsgBox "Richtigen Lieferanten gefunden"
ActiveSheet.Range("C1").Select
End If
ActiveSheet.Next.Select
Next
End If
'oder:
Do Until Listenauswahl = Überschrift
ActiveSheet.Next.Select
Range("A1").Select
Loop
'ActiveSheet.Next.Select
End If
End Sub
Vielleich nur ein kleiner Fehler. Aber ich komme einfach nicht weiter.