Ich habe diesen folgenden Code, der die Gesamtzahl der spezifischen Arbeitsblätter in einer Arbeitsmappe zählt. Ich habe den VbTextCompare-Operator (Vergleichsoperator) verwendet, um den Namen des Arbeitsblatts zu ermitteln. Wenn es dort ist, würde es die Anzahl der Blätter zählen. Aber leider stimmt das nicht mit der Zeichenfolge überein. irgendeine Hilfe? die Arbeitsblätter Namen sind in der folgenden Reihenfolge BQ1, BQ2, BQ3 ..... und so weiter ..Vergleichen des Arbeitsblatts Name in der Arbeitsmappe, um die Gesamtzahl der übereinstimmenden Arbeitsblätter zu erhalten
Dim tSheets As Long
Dim WS As Worksheet
i = 1
For Each WS In ThisWorkbook.Worksheets
If StrComp(Left(WS.Name, 1), "BQ" & i, vbTextCompare) = 0 Then
tSheets = tSheets + 1
MsgBox WS.Name
i = i + 1
End If
Next WS
Absichtlich i innen setzen, wenn Block. so dass es nur inkrementieren sollte, nachdem der gefundene String gefunden wurde. BTW, ich habe die Lösung gefunden .. Ich habe 1 Buchstabe des Blattnamens verglichen, anstatt 1 sollte es 3 – Hola
@Hola In diesem Fall sollten Sie verwenden, um Variable, eine mit dynamisch erstellen Sie den Blattnamen und eine andere zu verwenden um das Vorkommen von gefundenen Blättern zu zählen, wobei Sie nur eine Zählervariable verwendet haben. Ja, das habe ich darauf hingewiesen, dass Sie nur den ersten Buchstaben von Blattnamen verglichen haben. Wenn Ihre Frage gelöst ist, nehmen Sie sich bitte einen Moment Zeit, um die Antwort zu akzeptieren, um Ihre Frage als Gelöst zu markieren. – sktneer