我的以下代码运行完美,它只是将数据从一个工作簿复制并粘贴到另一个名为“summary workbook”的工作簿。每个工作簿都对应一个量具工作站,我在其中将所有工作簿中的相同单元格提取到包含所有数据的“摘要工作簿”中。我想知道是否有办法为每个量具工作簿重复相同的代码,所以我不必手动更改它?我知道我必须更改它正在复制它的工作簿,还是我必须手动更改它?
其他信息:
我正在复制的工作簿称为“run_10296500.xlsm”,在该工作簿中,我将取出名为“dashboard”的工作表中的数据。 “摘要工作簿”是活动工作簿,sheet1位于此工作簿中。
我的代码如下:
Sub Hungry4Gages()
Dim x As Workbook
Dim y As Workbook
'## Open both workbooks first:
Set y = ActiveWorkbook
Dim LastRow As Long
For i = 1 To 50
If Cells(i, 1).Value = "Grand Total" Then
Line = i
Range("A" & i + 1 & ":CS50").Select
Selection.Clear
Exit For
End If
Next
'FALL
[Class1!E6].Formula = "='C:\Users\dguitron\Documents\Belize and Sam Project\Class 1\[run_10296500.xlsm]dashboard'!E17"
[Class1!E6] = [Class1!E6].Value
[Class1!E7].Formula = "='C:\Users\dguitron\Documents\Belize and Sam Project\Class 1\[run_10296500.xlsm]dashboard'!E18"
[Class1!E7] = [Class1!E7].Value
[Class1!E8].Formula = "='C:\Users\dguitron\Documents\Belize and Sam Project\Class 1\[run_10296500.xlsm]dashboard'!E19"
[Class1!E8] = [Class1!E8].Value
End Sub
答案 0 :(得分:0)
除非我弄错了,否则只有代码的末尾部分似乎与您的问题有关。在这种情况下,您只需更改每个引用中的工作簿名称,如下所示。
[Class1!E6].Formula = "='C:\Users\dguitron\Documents\Belize and Sam Project\Class 1\[run_10296500.xlsm]dashboard'!E17"
[Class1!E6] = [Class1!E6].Value
[Class1!E7].Formula = "='C:\Users\dguitron\Documents\Belize and Sam Project\Class 1\[run_10296501.xlsm]dashboard'!E17"
[Class1!E7] = [Class1!E7].Value
[Class1!E8].Formula = "='C:\Users\dguitron\Documents\Belize and Sam Project\Class 1\[run_10296502.xlsm]dashboard'!E17"
[Class1!E8] = [Class1!E8].Value
显然我不知道你的其他工作簿的名字所以我只是增加了最后一位数字。如果你想让它更加流畅,那么你可以创建一个工作簿名称数组或使用带有For循环的计数器来减少重复,但我们需要了解更多关于你的工作簿命名约定以进一步帮助。< / p>