使用 VBA 从两个不同的工作表复制粘贴单元格

用户3088476

这是我下面的代码,它只是不确定为什么当它复制到第二列和第三列时它会向下移动一行。

Dim shB As Worksheet, shPM As Worksheet, lastRowB As Long, lastRowPM As Long
 Dim shC As Worksheet, shD As Worksheet
 Dim i As Long, lastCol As Long
 Dim eRow As Long

 Set shB = Worksheets("Billable")
 Set shPM = Worksheets("PM_Forecast")

 lastRowB = Worksheets("Billable").Cells(Rows.Count, 1).End(xlUp).Row

 ''Loop will run from row 6 to the last row (Row 6 is the first row in table)
 For i = 6 To lastRowB
    ''Check Billable requests first
    If shB.Cells(i, 15).Value = "Detailed Estimate Submitted" Then
        ''Copy over ID reference
        shB.Cells(i, 2).Copy
        eRow = shPM.Cells(Rows.Count, 1).End(xlUp).Row
        shB.Paste Destination:=shPM.Cells(eRow + 1, 1)
        ''Copy over title
        shB.Cells(i, 3).Copy
        eRow = shPM.Cells(Rows.Count, 1).End(xlUp).Row
        shB.Paste Destination:=shPM.Cells(eRow + 1, 2)
        ''Copy over Effort
        shB.Cells(i, 9).Copy
        eRow = shPM.Cells(Rows.Count, 1).End(xlUp).Row
        shB.Paste Destination:=shPM.Cells(eRow + 1, 3)

下一个结束

这是结果的图片,也许有人可以告诉我我哪里出错了。

在此处输入图片说明

法尼杜鲁

eRow尝试粘贴到下一列时,不要每次都计算(基于 A:A 列)。

每次迭代都使用shB.Paste Destination:=shPM.Cells(eRow , 2)(not eRow + 1)。

否则,A:A 列中的新增值将添加另一行到eRow...

或者计算每列的最后一行:

eRow = shPM.Cells(Rows.Count, 2).End(xlUp).RoweRow = shPM.Cells(Rows.Count, 3).End(xlUp).Row,根据您打算复制值的列。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用VBA复制粘贴脚本比较两个CSV文档

Excel VBA将特定的单元格复制并粘贴到另一个工作表

如何使用QUERY函数匹配Google表格中不同工作表中的两个单元格?

使用VBA复制并粘贴公式:返回#REF!而不是引用的单元格

两个工作簿之间的Excel VBA复制单元格

如何使用VBA将来自两个单独数据表的单元格与特定请求结合

使用单元格编号复制和粘贴工作表

使用VBA比较Excel中两个单元格的数字格式

Excel VBA复制/粘贴宏:使用公式忽略单元格

使用VBA复制和粘贴一系列单元格

尝试在单独的工作表中复制粘贴单元格时的VBA运行时错误1004

excel vba宏,以匹配来自两个不同工作簿的单元格,并相应地进行复制和粘贴

VBA-将多个工作表中的一个单元格复制/粘贴到主表

如何使用excel vba从特定单元格复制并将其粘贴到另一个范围

在Excel中使用VBA复制粘贴

使用for循环和数组比较来自不同工作表的两个单元格

使用Select Case或If Then VBA比较两个单元格

在两个不同的工作簿之间的错误单元格区域中复制粘贴

如何使用VBA进行VLookup比较两个不同的表并删除单元格表匹配的行?

比较两个工作表时,VBA根据条件替换和添加单元格

使用vba在工作表数组中复制并粘贴特定单元格(使用.find)

比较两列并使用vba复制粘贴

VBA复制和粘贴仅根据活动工作表选择2个单元格

Excel:如何使用复制粘贴命令到选定的工作表区域 (VBA)

使用 vba 将同一单元格中两个子过程的两个值相加

无法使用数据切割单元格并移动到不同的工作表 VBA

使用 VBA 将符合条件的行复制到 Excel 中的两个或多个不同的工作表中

使用 vba 从两个单元格文本复制到剪贴板

使用空白中间单元格复制粘贴整行