我試圖運行一個宏,它可以在一組工作簿中使用複選框更正鏈接單元格的名稱。在文件夾中的多個工作簿上運行宏時,該效果僅適用於包含宏的工作簿
有很多(大約100)工作簿需要在一個文件中調整。
因此我通過這些文件,循環運行的重新分配,但是,它永遠只適用於我寫的宏文件:
Sub CheckBoxesControl()
On Error Resume Next
Dim path As String
Dim file As String
Dim wkbk As Workbook
Dim i As Long
Application.ScreenUpdating = False
Application.DisplayAlerts = False
path = "C:\file\path\"
file = Dir(path)
Do While Not file = ""
Workbooks.Open (path & file)
Set wkbk = ActiveWorkbook
For i = 1 To 400
ActiveWorkbook.Sheet4.CheckBoxes("Check Box " & i).LinkedCell = "ChkBoxOutput!AA" & i
ActiveWorkbook.Sheet21.CheckBoxes("Check Box " & i).LinkedCell = "ChkBoxOutput!AB" & i
Activekbook.Sheet22.CheckBoxes("Check Box " & i).LinkedCell = "ChkBoxOutput!AC" & i
Next i
wkbk.Save
wkbk.Close
file = Dir
Loop
End Sub
誰能告訴我如何調整它,這樣它適用於每個文件?
宏運行沒有錯誤(事實上文件中的每個文件似乎打開和關閉)。
做** **所有工作簿有一個名爲* Sheet4,Sheet21張,和Sheet22 *? –
是的,每個工作簿都是由一個模板構成的,所有的工作表都是相同的。 – Gideon
[看到這個答案可能是有用的](http://stackoverflow.com/questions/16957334/trying-to-open-the-workbook-in-separate-instance/16959325#16959325) – 2013-06-12 08:36:01