【发布时间】:2020-02-24 20:50:25
【问题描述】:
我有一个 excel 工作簿,其中有很多工作表(150 多个)都命名为不同的日期,我想从每个工作表上的相同单元格复制数据并将数据粘贴到新工作表中的单独行中。我对 VBA 和宏真的很陌生。我尝试使用“录制宏”功能,但这需要我手动复制/粘贴和更新每张纸的代码。我正在寻找一种方法来为所有当前工作表和未来工作表自动执行此操作。这是我目前拥有的代码。感谢您的帮助。
Sub DataCopy()
'
' DataCopy Macro
'
'
Range("'Summary'!B10").Select
ActiveCell = "='02_10_2017'!C14"
Range("C10").Select
ActiveCell = "='02_10_2017'!D5"
Range("D10").Select
ActiveCell = "='02_10_2017'!E14"
Range("E10").Select
ActiveCell = "='02_10_2017'!F14"
Range("F10").Select
ActiveCell = "='02_10_2017'!G14"
Range("G10").Select
ActiveCell = "='02_10_2017'!J11"
Range("H10").Select
ActiveCell = "='02_10_2017'!K11"
Range("I10").Select
ActiveCell = "='02_10_2017'!J26"
Range("J10").Select
ActiveCell = "='02_10_2017'!K26"
Range("K10").Select
ActiveCell = "='02_10_2017'!C18"
Range("L10").Select
ActiveCell = "='02_10_2017'!E18"
Range("M10").Select
ActiveCell = "='02_10_2017'!C19"
Range("N10").Select
ActiveCell = "='02_10_2017'!E19"
Range("O10").Select
ActiveCell = "='02_10_2017'!C20"
Range("P10").Select
ActiveCell = "='02_10_2017'!C20"
Range("Q10").Select
ActiveCell = "='02_10_2017'!C21"
Range("R10").Select
ActiveCell = "='02_10_2017'!E21"
Range("S10").Select
ActiveCell = "='02_10_2017'!J29"
Range("T10").Select
ActiveCell = "='02_10_2017'!J30"
Range("'Summary'!B11").Select
ActiveCell = "='02_17_2017'!C14"
Range("C11").Select
ActiveCell = "='02_17_2017'!D5"
Range("D11").Select
ActiveCell = "='02_17_2017'!E14"
Range("E11").Select
ActiveCell = "='02_17_2017'!F14"
Range("F11").Select
ActiveCell = "='02_17_2017'!G14"
Range("G11").Select
ActiveCell = "='02_17_2017'!J11"
Range("H11").Select
ActiveCell = "='02_17_2017'!K11"
Range("I11").Select
ActiveCell = "='02_17_2017'!J26"
Range("J11").Select
ActiveCell = "='02_17_2017'!K26"
Range("K11").Select
ActiveCell = "='02_17_2017'!C18"
Range("L11").Select
ActiveCell = "='02_17_2017'!E18"
Range("M11").Select
ActiveCell = "='02_17_2017'!C19"
Range("N11").Select
ActiveCell = "='02_17_2017'!E19"
Range("O11").Select
ActiveCell = "='02_17_2017'!C20"
Range("P11").Select
ActiveCell = "='02_17_2017'!C20"
Range("Q11").Select
ActiveCell = "='02_17_2017'!C21"
Range("R11").Select
ActiveCell = "='02_17_2017'!E21"
Range("S11").Select
ActiveCell = "='02_17_2017'!J29"
Range("T11").Select
ActiveCell = "='02_17_2017'!J30"
End Sub
【问题讨论】:
-
您知道
Range("'Summary'!B10").Formula = "='02_10_2017'!C14"的作用与选择它相同,而且速度更快吗? -
或许开始here。