Ich habe einen Code, um eine bestimmte Änderung an einigen Zellen einer Seite vorzunehmen. Ich möchte diesen Code mit einem Klick auf alle Seiten in der Excel-Datei anwenden. Ich verwende VBA und bin ein Neuling darin. Hier ist mein Code:
Sub H() Dim B As Range, H As Range, I As Range For Each B In Range("B7:B49").Cells If IsNumeric(B) And B <> "" Then Cells(B.Row, 9) = Trim(Cells(B.Row + 1, 8)) & Trim(Cells(B.Row + 2, 8)) Cells(B.Row + 1, 8) = "" Cells(B.Row + 2, 8) = "" If B.Row > 50 Then Exit For End If Next B End Sub
Ich möchte das obige Makro auf alle Seiten in der Excel-Tabelle anwenden. Wie mache ich das?
Antwort1
Gehen Sie die Blätter (Seiten) einfach auf die gleiche Weise durch, wie Sie die Zellen in einem Bereich durchlaufen:
Sub H()
Dim B As Range
For S in Sheets
For Each B In S.Range("B7:B49").Cells
If IsNumeric(B) And B <> "" Then
Cells(B.Row, 9) = Trim(Cells(B.Row + 1, 8)) & Trim(Cells(B.Row + 2, 8))
Cells(B.Row + 1, 8) = ""
Cells(B.Row + 2, 8) = ""
End If
If B.Row > 50 Then Exit For
Next B
Next S
End Sub
PS: Es ist wahrscheinlich sinnvoller, die beiden If
Anweisungen unabhängig zu haben, d. h. die zweite nicht in der ersten verschachtelt zu haben.