Excel VBA:复制/粘贴循环

我在这个留言板上进行了广泛的search,并没有find可行的答案来解决我的问题。 我是VBA的初学者,但是尽了我的努力。

背景:我有一个数据块,从外部来源更新(彭博,对于这个问题不重要)。 我想通过一个驱动数据更新的input(公司的股票代码)循环,然后粘贴数据块作为硬编码输出。

UNIQUE WRINKLE:我不想覆盖每个更新的数据。 我想把它粘贴在我的纸上。

问题:我的VBA代码更新input,但是然后将每个更新的数据块粘贴在我的工作表的相同位置。

这是我的代码。 谢谢您的帮助!

更新:我仍然处于僵局与macros的粘贴function,但已成功地将其重写为embedded式子程序,以避免其他提到的循环错误。 我只在这里粘贴粘贴子进行故障排除。 请参阅ProcessData子文件:

新macros(部分):

Sub CheckRequestingData() ' Check if data has refreshed, if not, continue to wait Dim c As Range For Each c In Selection.Cells If c.Value = "#N/A Requesting Data..." Then Call Wait Exit Sub End If Next c Call ProcessData End Sub Sub ProcessData() Selection.Copy Range("B100").Select Selection.PasteSpecial Paste:=xlPasteValues Selection.PasteSpecial Paste:=xlPasteFormats Selection.Font.Color = vbBlue x = x + 1 Call LoopStart End Sub 

老macros:

 Sub LoopMacro() Dim x As Integer Dim y As Integer Dim dataRange As Range: Set dataRange = Range("B35:LA54") Dim mySheet As Worksheet: Set mySheet = ActiveSheet 'Loop through company tickers, inserting into Company Ticker cell For x = 8 To 21 mySheet.Cells(2, 3).Value = mySheet.Cells(x, 2).Value For y = 1 To 14 'Copy live data block with active company's data dataRange.Select Selection.Copy 'Paste each company's data separately Range("B" & 35 + 21 * y).Select Selection.PasteSpecial Paste:=xlPasteValues Selection.PasteSpecial Paste:=xlPasteFormats Next Next End Sub