首页 > 解决方案 > 每次复制相同的单元格并粘贴到下一个单元格

问题描述

我已经编写了这段代码,它将复制Sheet2.Range("B4")并粘贴到Sheet3.Range("B4").

我一直在努力寻找如何在再次运行代码时粘贴Sheet2.Range("B4")到下一个单元格中Sheet3.Range("B4")C4然后再次运行代码到D4那时E4。逐个。

所以逻辑将是每次我必须运行代码将值粘贴到下一个单元格中。

Sub copyPasteValues()
Dim sht2 As Worksheet
Dim sht3 As Worksheet

Set sht2 = Sheets("Sheet2")
Set sht3 = Sheets("Sheet3")

sht2.Cells(4, 2).copy
sht3.Cells(4, 2).PasteSpecial xlPasteValues
End Sub

标签: excelvba

解决方案


在第 4 行的工作表 3 上查找最后使用的列并添加一列。

像这样的东西:

Sub copyPasteValues()
Dim sht2 As Worksheet
Dim sht3 As Worksheet

Dim col As Long

Set sht2 = Sheets("Sheet2")
Set sht3 = Sheets("Sheet3")

col = sht3.Cells(4, sht3.Columns.Count).End(xlToLeft).Column + 1
if col = 3 then
    sht2.Cells(5, 4).Copy
else
    sht2.Cells(4, 2).Copy
end if
sht3.Cells(4, col).PasteSpecial xlPasteValues
End Sub

如果你需要它停在我的列然后做:

if col = 3 then
    sht2.Cells(5, 4).Copy
elseif col <= 9 then
    sht2.Cells(4, 2).Copy
else
    exit sub
end if

推荐阅读