不使用范围

时间:2017-04-26 13:02:55

标签: excel-vba vba excel

我需要一个贯穿工作簿的宏,复制特定的单元格,然后将它们粘贴到另一个工作簿中。我见过这样做的宏,但是他们都选择了范围来完成它。我将要运行数百行,因此选择范围不会起作用(如果我必须编写数百个范围,我可能会这样做。)我想通过使用单元格偏移来实现这一点。

这是我的代码:我只展示相关领域。

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来选择要复制和粘贴的单元格。

非常感谢你的时间。我很感激。

0 个答案:

没有答案