HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Entdecke rund 2 Millionen Excel-Lösungen im
Forumsarchiv
Forumbeitrag
Excel-Version des Fragestellers:
2010
Erfahrungslevel des Fragestellers:
Excel-Profi - VBA gut
Piet
27.04.2026 10:52:55
AW: For Each Schleife
Hallo Gerd

probier mal wenn du such in einen String änderst: such = CStr([b1])
Alternativ könntest du auch den Autofilter verwenden. s. unten
Der Code gehört in die Tabelle wo deine Tabellen Namen stehen. Nicht in ein Modul!

mfg Piet

'Autofilter Spalte B

Private Sub Worksheet_Change(ByVal Target As Range)
If InStr(Target.Address, ":") Then Exit Sub
If Target.Address <> "$B$1" Then Exit Sub
Dim FTxt As Variant

ActiveSheet.AutoFilterMode = False
If Target.Value = Empty Then Exit Sub

With Range("B6:B75")
.AutoFilter: FTxt = Target & "*"
.AutoFilter Field:=1, Criteria1:=FTxt, _
Operator:=xlOr, Criteria2:=Target
End With
Target.Select
End Sub
Als Antwort auf diesen Beitrag
Gerd K
27.04.2026 08:54:28
AW: For Each Schleife
Hallo, ersteinmal vielen Dank für die Antworten. Das ist eine große Excel Datei mit 135 Tabellenblättern und jedes Tabellenblatt steht für einen Kleingarten. Jedes Tabellenblatt trägt die Gartennummer. Mit
=Teil(Zelle ("Dateiname";F7);FINDEN("]";ZELLE("dateiname";F7))+1;255)
wird der Name des Tabellenblattes in die Zelle B1 eingetragen.
Mit such = CLng([b1]) klappt das sehr gut. Die "18" wird in 18 umgewandelt und die Schleife funktioniert perfekt.
Nun haben nicht alle Gärten eine Zahl sondern haben zusätzlich einen Buchstaben z.B. 75 A und 75 B. Hier gibt es einen Laufzeitfehler 13, Typen unverträglich.
Wie kann ich das lösen.
Folgenachrichten
Antwort auf Beitrag erstellen
Bitte einen Anwendernamen ohne @ eingeben.
Bitte das Passwort eingeben.
Bitte eine gültige E-Mail-Adresse eingeben.
Bitte einen Betreff eingeben.
Weitere Optionen
Aktivieren, wenn die Frage/der Beitrag noch nicht beantwortet wurde und unter Listen > Offene Threads erscheinen soll.
Beispieldatei hochladen

Bitte einen Nachrichtentext eingeben.