Ich habe folgenden Code erstellt. Das Makro sollte einfach die Zellen A2: G3000 mit 1 multiplizieren, damit sich das Format von einem Text zu einer Zahl ändert. Das Makro, das ich geschrieben habe, tut dies, aber nur für das aktive Arbeitsblatt. Ich habe die For Each/Next-Schleife verwendet, wie ich sie gelernt habe.For Each/Next Loop durchläuft nicht alle Arbeitsblätter
Könnte jemand mir helfen, meinen Fehler im Code zu finden?
Sub Format_Change()
Dim sht As Worksheet
For Each sht In Worksheets
Range("M2").Select
ActiveCell.FormulaR1C1 = "=RC[-12]*1"
Range("M2").Select
Selection.AutoFill Destination:=Range("M2:W2"), Type:=xlFillDefault
Range("M2:W2").Select
Selection.AutoFill Destination:=Range("M2:W3000"), Type:=xlFillDefault
Range("M2:W3000").Select
Selection.Copy
Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("M2").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Application.CutCopyMode = False
Selection.ClearContents
Next sht
End Sub
+1, aber was ist, wenn das OP sehen wollte, dass sich die Seiten ändern und der Job erledigt wird? Es gibt ein schönes Gefühl, eine Excel-Datei "arbeiten" zu lassen ... Ohne das 'select' siehst du nicht die' action' :) – Vityata
@Vityata Das ist ein gutes;) –
@Vityata Yeah, du sitzt vorne von Ihrer Frontlader-Waschmaschine und Mikrowelle, nur um sie zu beenden? –