AW: verschiedene Zeilen mit einer Prozedur ansprechen
Harald
Hallo Eva,
leider kann ich mit der Beispieldatei wenig anfangen, da Dein Makro nicht drin ist. Du verwendest Objekte wie wsOverview, wsAuslesenBSC_Abt, die offenbar nicht standardmäßig zu Excel gehören (selbst definiert?). Damit kann ich nichts anfangen.
Ich habe den Code mal radikal vereinfacht:
Sub test()
Dim zelle As Range
Dim zeilenNr As Long
For Each zelle In Selection
zeilenNr = zelle.Row
Select Case zeilenNr
Case 9, 14, 44, 59, 64
Debug.Print "Case01, In Zeile " & zeilenNr
End Select
Select Case zeilenNr
Case 3, 4, 5, 9
Debug.Print "Case02, In Zeile " & zeilenNr
End Select
Next zelle
End Sub
Im Arbeitsblatt den Bereich K8...X18 markiert, dann das Makro laufen lassen. Das ergibt folgendes Ergebnis:
Case01, In Zeile 9
Case02, In Zeile 9
Case01, In Zeile 9
Case02, In Zeile 9
Case01, In Zeile 9
Case02, In Zeile 9
Case01, In Zeile 9
Case02, In Zeile 9
Case01, In Zeile 9
Case02, In Zeile 9
Case01, In Zeile 9
Case02, In Zeile 9
Case01, In Zeile 9
Case02, In Zeile 9
Case01, In Zeile 9
Case02, In Zeile 9
Case01, In Zeile 9
Case02, In Zeile 9
Case01, In Zeile 9
Case02, In Zeile 9
Case01, In Zeile 9
Case02, In Zeile 9
Case01, In Zeile 9
Case02, In Zeile 9
Case01, In Zeile 9
Case02, In Zeile 9
Case01, In Zeile 9
Case02, In Zeile 9
Case01, In Zeile 14
Case01, In Zeile 14
Case01, In Zeile 14
Case01, In Zeile 14
Case01, In Zeile 14
Case01, In Zeile 14
Case01, In Zeile 14
Case01, In Zeile 14
Case01, In Zeile 14
Case01, In Zeile 14
Case01, In Zeile 14
Case01, In Zeile 14
Case01, In Zeile 14
Case01, In Zeile 14
Wie Du siehst, werden für Zeile 9 beide Fälle durchlaufen, für Zeile 14 nur case02.
Nur so eine Idee am Rande: Die for-each Schleife setzt in dieser Form voraus, dass der zu bearbeitende Bereich im Arbeitsblatt auch markiert ist. Ist das bei Dir der Fall?
Falls nicht, kannst Du den zu bearbeitenden Bereich auch so angeben:
For Each zelle In Range("K8:X18") 'Hier natürlich Deinen Bereich einsetzen.
Gruß Harald