vba相當新穎,但我寫了一個代碼,可以在列中取消合併,然後複製單元格,然後粘貼到不同的宏工作簿中。當我第一次運行代碼時,代碼運行良好。不過,我今天試圖使用它,我很震驚,我有一個錯誤。此錯誤指出它無法找到目標文件名。這很奇怪,因爲目標文件名沒有改變或移動。這裏是一個代碼示例。Excel VBA-運行時錯誤1004打開工作簿
誤差示出了在線路:
設置第二冊= Workbooks.Open( 「報道跨式燃料 Usage.xlsm財政'17」)
的代碼如下:
Public Sub Button6_Click()
'Change name of button
Worksheets("7500").Buttons("Button 6").Text = "Send"
With Sheets("7500")
'Unmerge cells
.Range("AI3:AI92").Select
With Selection
For Each rCell In Selection
With rCell
If .MergeCells Then
.MergeArea.UnMerge
End If
End With
Next rCell
End With
End With
'open destination workbook
Dim book1 As Workbook
Dim sheet1 As Worksheet
Dim book2 As Workbook
Dim sheet2 As Worksheet
Application.ScreenUpdating = False
Set book1 = ThisWorkbook
Set book2 = Workbooks.Open("Fiscal '17 Reported Straddle Fuel Usage.xlsm")
Set sheet1 = book1.Sheets("7500")
Set sheet2 = book2.Sheets("Nov ‘17")
很可能您的工作簿文件名或路徑發生了變化。 –
不相關,但如果'book1'是'ThisWorkbook',那麼如果您放棄了'book1'並使用了現有的'ThisWorkbook'對象引用,那麼您的代碼將更容易遵循。另請參閱[如何避免選擇和激活](https://stackoverflow.com/q/10714251/1188513)。 ...然後,你已經在'With'塊中引用了'sheet1' ... –
讓我困惑的是爲什麼你從2個不同的集合('Worksheets',然後'Sheets'非常接下來的一行) - 將'.Buttons(「Button 6」)。Text'賦值到'With'塊中。 –