我是VBA的新手,尝试从一个名为lookup xxx
的选项卡中复制值(数据将始终在Column F
中)并粘贴到关联的actuals xxx
选项卡中。
我为大约10个不同的查找选项卡执行此操作。我的目标是在第一次运行宏时将Week 50
或201750
粘贴到Column F
中。
我第二次运行它,我想粘贴到column G
,第三次,column H
,等等;每次将数据保存在前面的列中。
内置的宏或Personal.xlsb!AllSheets
更新查找选项卡上的数据,并更新周。这实际上是“复制并粘贴一列”问题。
我想要发生的是这样的:
actuals xxx
选项卡上的列F填充了201750
数据(来自lookup xxx
标签)column F
保留201750
和G=201751
数据。F=201750, G=201751, H=201752
数据实际发生的是:
columns F
上的G
和actuals xxx
都填充了201750
数据。F=201751, G=201750, and H=201751
。F=201750, G=201751, H=201752, I=201752.
这是我目前使用的代码:
Sub ActualsAutomation()
'
' ActualsAutomation Macro
'
'
Application.Run "PERSONAL.XLSB!AllSheets"
Sheets("SS Actuals").Range("F3:F500").Value = Sheets("SS Lookup").Range("F1:F498").Value
Dim c As Long
c = Sheets("SS Actuals").Cells(3, Columns.Count).End(xlToLeft).Column + 1
Sheets("SS Actuals").Cells(3, c).Resize(498).Value = Sheets("SS Lookup").Range("F1:F498").Value
Sheets("All Actuals").Range("F3:F500").Value = Sheets("All Lookup").Range("F1:F498").Value
c = Sheets("All Actuals").Cells(3, Columns.Count).End(xlToLeft).Column + 1
Sheets("All Actuals").Cells(3, c).Resize(498).Value = Sheets("All Lookup").Range("F1:F498").Value
Sheets("Base Specialties Actuals").Range("F3:F500").Value = Sheets("Base Specialties Lookup").Range("F1:F498").Value
c = Sheets("Base Specialties Actuals").Cells(3, Columns.Count).End(xlToLeft).Column + 1
Sheets("Base Specialties Actuals").Cells(3, c).Resize(498).Value = Sheets("Base Specialties Lookup").Range("F1:F498").Value
Sheets("Combat Actuals").Range("F3:F500").Value = Sheets("Combat Lookup").Range("F1:F498").Value
c = Sheets("Combat Actuals").Cells(3, Columns.Count).End(xlToLeft).Column + 1
Sheets("Combat Actuals").Cells(3, c).Resize(498).Value = Sheets("Combat Lookup").Range("F1:F498").Value
Sheets("Great Value Actuals").Range("F3:F500").Value = Sheets("Great Value Lookup").Range("F1:F498").Value
c = Sheets("Great Value Actuals").Cells(3, Columns.Count).End(xlToLeft).Column + 1
Sheets("Great Value Actuals").Cells(3, c).Resize(498).Value = Sheets("Great Value Lookup").Range("F1:F498").Value
Sheets("Persil Actuals").Range("F3:F500").Value = Sheets("Persil Lookup").Range("F1:F498").Value
c = Sheets("Persil Actuals").Cells(3, Columns.Count).End(xlToLeft).Column + 1
Sheets("Persil Actuals").Cells(3, c).Resize(498).Value = Sheets("Persil Lookup").Range("F1:F498").Value
Sheets("Purex Actuals").Range("F3:F500").Value = Sheets("Purex Lookup").Range("F1:F498").Value
c = Sheets("Purex Actuals").Cells(3, Columns.Count).End(xlToLeft).Column + 1
Sheets("Purex Actuals").Cells(3, c).Resize(498).Value = Sheets("Purex Lookup").Range("F1:F498").Value
Sheets("Renuzit Actuals").Range("F3:F500").Value = Sheets("Renuzit Lookup").Range("F1:F498").Value
c = Sheets("Renuzit Actuals").Cells(3, Columns.Count).End(xlToLeft).Column + 1
Sheets("Renuzit Actuals").Cells(3, c).Resize(498).Value = Sheets("Renuzit Lookup").Range("F1:F498").Value
Sheets("Snuggle Actuals").Range("F3:F500").Value = Sheets("Snuggle Lookup").Range("F1:F498").Value
c = Sheets("Snuggle Actuals").Cells(3, Columns.Count).End(xlToLeft).Column + 1
Sheets("Snuggle Actuals").Cells(3, c).Resize(498).Value = Sheets("Snuggle Lookup").Range("F1:F498").Value
Sheets("Sun Cuddle Soft Actuals").Range("F3:F500").Value = Sheets("Sun Cuddle Soft Lookup").Range("F1:F498").Value
c = Sheets("Sun Cuddle Soft Actuals").Cells(3, Columns.Count).End(xlToLeft).Column + 1
Sheets("Sun Cuddle Soft Actuals").Cells(3, c).Resize(498).Value = Sheets("Sun Cuddle Soft Lookup").Range("F1:F498").Value
Sheets("Sun Actuals").Range("F3:F500").Value = Sheets("Sun Lookup").Range("F1:F498").Value
c = Sheets("Sun Actuals").Cells(3, Columns.Count).End(xlToLeft).Column + 1
Sheets("Sun Actuals").Cells(3, c).Resize(498).Value = Sheets("Sun Lookup").Range("F1:F498").Value
Sheets("Surf Actuals").Range("F3:F500").Value = Sheets("Surf Lookup").Range("F1:F498").Value
c = Sheets("Surf Actuals").Cells(3, Columns.Count).End(xlToLeft).Column + 1
Sheets("Surf Actuals").Cells(3, c).Resize(498).Value = Sheets("Surf Lookup").Range("F1:F498").Value
Sheets("Uno Dos Tres Actuals").Range("F3:F500").Value = Sheets("Uno Dos Tres Lookup").Range("F1:F498").Value
c = Sheets("Uno Dos Tres Actuals").Cells(3, Columns.Count).End(xlToLeft).Column + 1
Sheets("Uno Dos Tres Actuals").Cells(3, c).Resize(498).Value = Sheets("Uno Dos Tres Lookup").Range("F1:F498").Value
End Sub
这是我运行宏3次后会发生的情况:
弄清楚我正在加倍工作。当我删除副本时,宏工作得很好。这是最终结果:
Sub ActualsAutomation()
'
' ActualsAutomation Macro
'
'
Application.Run "PERSONAL.XLSB!AllSheets"
Dim c As Long
c = Sheets("SS Actuals").Cells(3, Columns.Count).End(xlToLeft).Column + 1
Sheets("SS Actuals").Cells(3, c).Resize(498).Value = Sheets("SS Lookup").Range("F1:F498").Value
c = Sheets("All Actuals").Cells(3, Columns.Count).End(xlToLeft).Column + 1
Sheets("All Actuals").Cells(3, c).Resize(498).Value = Sheets("All Lookup").Range("F1:F498").Value
c = Sheets("Base Specialties Actuals").Cells(3, Columns.Count).End(xlToLeft).Column + 1
Sheets("Base Specialties Actuals").Cells(3, c).Resize(498).Value = Sheets("Base Specialties Lookup").Range("F1:F498").Value
c = Sheets("Combat Actuals").Cells(3, Columns.Count).End(xlToLeft).Column + 1
Sheets("Combat Actuals").Cells(3, c).Resize(498).Value = Sheets("Combat Lookup").Range("F1:F498").Value
c = Sheets("Great Value Actuals").Cells(3, Columns.Count).End(xlToLeft).Column + 1
Sheets("Great Value Actuals").Cells(3, c).Resize(498).Value = Sheets("Great Value Lookup").Range("F1:F498").Value
c = Sheets("Persil Actuals").Cells(3, Columns.Count).End(xlToLeft).Column + 1
Sheets("Persil Actuals").Cells(3, c).Resize(498).Value = Sheets("Persil Lookup").Range("F1:F498").Value
c = Sheets("Purex Actuals").Cells(3, Columns.Count).End(xlToLeft).Column + 1
Sheets("Purex Actuals").Cells(3, c).Resize(498).Value = Sheets("Purex Lookup").Range("F1:F498").Value
c = Sheets("Renuzit Actuals").Cells(3, Columns.Count).End(xlToLeft).Column + 1
Sheets("Renuzit Actuals").Cells(3, c).Resize(498).Value = Sheets("Renuzit Lookup").Range("F1:F498").Value
c = Sheets("Snuggle Actuals").Cells(3, Columns.Count).End(xlToLeft).Column + 1
Sheets("Snuggle Actuals").Cells(3, c).Resize(498).Value = Sheets("Snuggle Lookup").Range("F1:F498").Value
c = Sheets("Sun Cuddle Soft Actuals").Cells(3, Columns.Count).End(xlToLeft).Column + 1
Sheets("Sun Cuddle Soft Actuals").Cells(3, c).Resize(498).Value = Sheets("Sun Cuddle Soft Lookup").Range("F1:F498").Value
c = Sheets("Sun Actuals").Cells(3, Columns.Count).End(xlToLeft).Column + 1
Sheets("Sun Actuals").Cells(3, c).Resize(498).Value = Sheets("Sun Lookup").Range("F1:F498").Value
c = Sheets("Surf Actuals").Cells(3, Columns.Count).End(xlToLeft).Column + 1
Sheets("Surf Actuals").Cells(3, c).Resize(498).Value = Sheets("Surf Lookup").Range("F1:F498").Value
c = Sheets("Uno Dos Tres Actuals").Cells(3, Columns.Count).End(xlToLeft).Column + 1
Sheets("Uno Dos Tres Actuals").Cells(3, c).Resize(498).Value = Sheets("Uno Dos Tres Lookup").Range("F1:F498").Value
End Sub
谢谢你的帮助!