我已經創建了下面的代碼。宏應該簡單地將單元格A2:G3000乘以1,以便格式從文本更改爲數字。我寫的宏是這樣做的,但僅用於活動工作表。我使用For Each/Next循環,因爲我學到了它。For Each/Next Loop不遍歷所有工作表
有人能幫我在代碼中找到我的錯誤嗎?
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,但如果OP希望實際看到頁面正在改變並且正在完成工作,該怎麼辦?它給了一個不錯的感覺,以某種方式有一個Excel文件「工作」...沒有'選擇'你看不到'行動':) – Vityata
@Vityata這是一個很好的;) –
@Vityata是的,你坐在前面你的前裝洗衣機和微波爐只是看着他們完成? –