我需要一个贯穿工作簿的宏,复制特定的单元格,然后将它们粘贴到另一个工作簿中。我见过这样做的宏,但是他们都选择了范围来完成它。我将要运行数百行,因此选择范围不会起作用(如果我必须编写数百个范围,我可能会这样做。)我想通过使用单元格偏移来实现这一点。
这是我的代码:我只展示相关领域。
Workbooks.Open (txtFileName) ' Opens the selected file
Set wbSource = ActiveWorkbook
Windows("CM activity log referral macro.xlsm").Activate
Set wbTarget = ActiveWorkbook
' Begin Populating CM Workbook: Caselist Worksheet
'Set initial rows
wbSource.Activate
wbSource.Sheets("Contact Log").Range("A4").Select
wbTarget.Activate
wbTarget.Sheets("Caselist").Range("A3").Select
'Populate Caselist from Selected Workbook
Dim i As Long
For i = 1 To 200
'Copy Date Encountered
wbSource.Sheets("Contact Log").ActiveCell.Copy
wbTarget.Sheets("Caselist").ActiveCell.PasteSpecial Paste:=xlPasteValues
'Copy First and Last Name
wbSource.Sheets("Contact Log").ActiveCell.Offset(0, 2).Copy
wbTarget.Sheets("Caselist").ActiveCell.Offset(0, 1).PasteSpecial
Paste:=xlPasteValues
wbSource.Sheets("Contact Log").ActiveCell.Offest(0, 1).Copy 'move to D4
wbTarget.Sheets("Caselist").ActiveCell.Offset(0, 1).PasteSpecial
Paste:=xlPasteValues
复制更多,for循环正常关闭,但我没有在这里显示。我知道问题是Sheets不支持以下.Activecell语句。我需要知道如何写这个,所以我可以使用offset而不是Range来选择要复制和粘贴的单元格。
非常感谢你的时间。我很感激。