【问题标题】:VBA excel to copy formula from a worksheet and paste to multiple worksheetsVBA excel从工作表复制公式并粘贴到多个工作表
【发布时间】:2017-08-23 14:20:17
【问题描述】:

VBA excel 从工作表复制公式并粘贴到工作表数组。例如,我想从工作表 Data!C4:CX204 复制数据并粘贴到工作表 Test1:Test50。 Test1:Test50 中的工作表将紧随其后。我在想我可以命名一个单元格 Test1 和另一个 Test 50 并链接到这些单元格,以使数组更加灵活。

Sub Button4_Click() 
Dim WS_Count As Integer 
Dim I As Integer 

WS_Count = ActiveWorkbook.Worksheets.Count 

Dim Source As Range 
Set Source = ThisWorkbook.Worksheets(1).Range("C10") 

' Begin the loop. 
For I = 1 To WS_Count 
    ThisWorkbook.worksheets(i).Select ' just select the sheet 
    Source.Copy Range("C11:C300").Select 
    ActiveSheet.Paste 
Next I 

End Sub

【问题讨论】:

  • 你尝试过哪些 VBA 代码?
  • 我对 VBA 没有任何经验。我在网上看到了一些东西,但大多数代码中缺少的东西是选择工作表数组的能力。大多数代码都在那里选择所有工作表。请参阅下面的示例。
  • Sub Button4_Click() Dim WS_Count As Integer Dim I As Integer WS_Count = ActiveWorkbook.Worksheets.Count Dim Source As Range Set Source = ThisWorkbook.Worksheets(1).Range("C10") ' 开始环形。 For I = 1 To WS_Count ThisWorkbook.worksheets(i).Select ' 只需选择工作表 Source.Copy Range("C11:C300").Select ActiveSheet.Paste Next I End Sub

标签: vba excel loops copy-paste


【解决方案1】:

这就是你要找的吗? i = 1 到工作表计数可以更改为您需要的任何内容。复制/粘贴的第二部分是目的地。

Sub Button4_Click()
Dim I As Integer

' Begin the loop.
For I = 1 To ActiveWorkbook.Worksheets.Count - 1
Worksheets(1).Range("C11:C300").Copy Worksheets("Test" & I).Range("C11:C300")
Next I

End Sub

【讨论】:

  • test1:test50 实际上只是一个示例,但是是的,我相信在这种情况下它会完美运行。谢谢 Mooseman - 感谢您的帮助,我会看看是否可以将您的方法合并到另一个工作簿中
  • 只要工作表有一个数字,您就可以递增,或者您可以使用工作表编号来引用粘贴到哪个工作表。
  • 不客气,。选择一个答案并为有帮助的答案投票。
【解决方案2】:

根据您发布的代码,您可能想要这样的东西:

Sub Button4_Click()
Dim src As Range, sel As Range
Dim i as long

Set sel = Selection
Set src = ActiveWorkbook.Sheets("Data").Range("C10")

Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

For i = 1 to 50
    src.Copy ActiveWorkbook.Sheets("Test" & i).Range("C11:C300")
Next i

Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic

Application.Goto sel, False

End Sub

【讨论】:

  • 我在使用此代码时遇到的问题是它复制并粘贴到工作簿中的所有工作表中。我希望它只做特定数量的标签,即范围标签 Test1:Test50 ,总共 50 个标签
猜你喜欢
  • 2016-10-25
  • 2015-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-05
  • 2020-04-24
相关资源
最近更新 更多