我有兩個工作簿(源和目標),我想將源工作簿中的列A複製到目標工作簿中的列A. 我用上面的代碼。複製值,而不是來自列的公式
Sub CopyColumnToWorkbook()
Dim sourceColumn As Range, targetColumn As Range
Set sourceColumn = Workbooks("Source").Worksheets("Sheet1").Columns("A")
Set targetColumn = Workbooks("Target").Worksheets("Sheet1").Columns("A")
sourceColumn.Copy Destination:=targetColumn
End Sub
但是源表單包含帶公式的單元格。我只想複製單元格值,但不是公式。
我應該對上面的代碼做些什麼改變?
Sub BOM()
Dim sourceColumn As Range, targetColumn As Range
Set sourceColumn = Workbooks("MASTER").Worksheets("Sheet1").Columns("C")
Set targetColumn = Workbooks("BOM").Worksheets("Sheet1").Columns("A")
sourceColumn.Copy Destination:=targetColumn
Set sourceColumn = Workbooks("MASTER").Worksheets("Sheet1").Columns("D")
Set targetColumn = Workbooks("BOM").Worksheets("Sheet1").Columns("B")
sourceColumn.Copy Destination:=targetColumn
Set sourceColumn = Workbooks("MASTER").Worksheets("Sheet1").Columns("E")
Set targetColumn = Workbooks("BOM").Worksheets("Sheet1").Columns("C")
sourceColumn.Copy Destination:=targetColumn
End Sub
這是我用於將細胞從一個工作簿複製到另一個的代碼。它在運行Windows 7 Excel 2010的PC上工作正常,但我想在使用XP Excel 2007的PC上運行相同的代碼。
我在運行宏時收到Runtime error: Subscript out of range.
,並且當單擊調試按鈕它指向第三行代碼。
@Lavan Madaparambil我沒有看到您的評論,因爲這是他的其他答案。你使用我的解決方案還是他的? 上面的代碼只有三個依賴關係。 1 - 工作簿名稱「source」,2 - 名爲目標的工作簿,3 - 每個工作簿中名爲「sheet1」的工作表均不屬於工作簿。 – danielpiestrak 2012-07-24 13:56:12
您可能會在參考工作簿時遇到困難。不要使用yoru原始代碼中的「target」和「Source」來替換它們,而是使用完整的文件路徑來替換它們:「C:\ testFolder \ anotherfolder \ target.xls」其中「C:\ testfolder \ anotherfolder \ 「是文件的修改,並且擴展名.xls,.xlsx或.xlsm與文件類型匹配。 (.xls是針對Excel的舊版本的) – danielpiestrak 2012-07-24 14:00:41
我會試試這個,回到你的問題 – 2012-07-25 07:03:43