Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 不使用范围在工作簿之间复制和粘贴_Excel_Vba - Fatal编程技术网

Excel 不使用范围在工作簿之间复制和粘贴

Excel 不使用范围在工作簿之间复制和粘贴,excel,vba,Excel,Vba,我需要一个宏,该宏在工作簿中运行,复制特定单元格,然后将它们粘贴到另一个工作簿中。我见过这样做的宏,但它们都选择范围来完成它。我将要运行数百行,所以选择范围是行不通的(如果我必须编写数百个范围的代码,我还可以手工操作)。我想通过使用单元偏移来实现这一点 这是我的代码:我只显示相关区域 Workbooks.Open (txtFileName) ' Opens the selected file Set wbSource = ActiveWorkbook Windows("CM activity l

我需要一个宏,该宏在工作簿中运行,复制特定单元格,然后将它们粘贴到另一个工作簿中。我见过这样做的宏,但它们都选择范围来完成它。我将要运行数百行,所以选择范围是行不通的(如果我必须编写数百个范围的代码,我还可以手工操作)。我想通过使用单元偏移来实现这一点

这是我的代码:我只显示相关区域

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语句。我需要知道如何写这个,这样我就可以使用偏移量而不是范围来选择要复制和粘贴到的单元格


非常感谢您抽出时间。非常感谢。

您可以将一个范围的值设置为另一个范围的值。例如,
ThisWorkbook.Sheets(“Data”).Cells(1,1).Value=ThisWorkbook.Sheets(“SourceData”).Range(“J5”).Value将从范围“J5”中获取数据表中的值,并将其放在新工作表的单元格1,1中(您不必使用单元格。您只需定义范围)。这实际上可能有效。我可以像单元格(1+I,1)一样移动到下一行。我来试一试,谢谢!没问题。一旦你熟悉了,你可能会对学习数组感兴趣:)。你可以做
单元格(i+1,1)
,也可以做
。单元格(1,1)。偏移量(i)