Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1444to1448
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
alle Tabellenblätter durchsuchen
25.08.2015 09:05:59
Marco
Moin Moin,
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.

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: alle Tabellenblätter durchsuchen
25.08.2015 09:15:18
Matthias
Hallo Marco,
versuch mal das hier:
Dim ws As Worksheet
For Each ws in ThisWorkbook.Worksheets
If ws.Range("A15")=cmb_Lieferant.Text Then
ws.activate
Exit For
EndIf
Next ws
lg Matthias

AW: alle Tabellenblätter durchsuchen
25.08.2015 09:52:35
Marco
Genial. Funktioniert einwandfrei. Danke für eure Hilfe.
Euch allen einen schönen Tag wünscht
Marco

AW: alle Tabellenblätter durchsuchen
25.08.2015 09:18:03
Rudi
Hallo,
Schema:
Sub aa()
Dim ws As Worksheet
Listenauswahl = cmb_Lieferant.Text
For Each ws In Worksheets
If ws.Range("A1") = Listenauswahl Then
Application.Goto ws.Range("A15")
Exit For
End If
Next ws
End Sub

Gruß
Rudi
Anzeige

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige