Excel 复制同一单元格,每次粘贴到下一个单元格

Excel 复制同一单元格,每次粘贴到下一个单元格,excel,vba,Excel,Vba,我编写了这段代码,它复制了Sheet2.Range(“B4”),并将其粘贴到Sheet3.Range(“B4”) 我一直在努力寻找如何在再次运行代码时将Sheet2.Range(“B4”)粘贴到Sheet3.Range(“B4”)的下一个单元格中,即C4,然后再次运行代码到D4。一个接一个 所以每次我必须运行代码将值粘贴到下一个单元格时,逻辑都是这样的 Sub copyPasteValues() Dim sht2 As Worksheet Dim sht3 As Worksheet Set s

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

我一直在努力寻找如何在再次运行代码时将
Sheet2.Range(“B4”)
粘贴到
Sheet3.Range(“B4”)
的下一个单元格中,即
C4
,然后再次运行代码到
D4
。一个接一个

所以每次我必须运行代码将值粘贴到下一个单元格时,逻辑都是这样的

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

查找第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
如果需要在第I列停止,请执行以下操作:

if col = 3 then
    sht2.Cells(5, 4).Copy
elseif col <= 9 then
    sht2.Cells(4, 2).Copy
else
    exit sub
end if
如果col=3,则
sht2。细胞(5,4)。复制

否则,您是要覆盖第3页中的任何内容还是粘贴到空白单元格?粘贴到空白。谢谢,但如果我再次运行代码,它不会粘贴到下一个单元格谢谢,现在工作正常,我只是将其更改为sht2。单元格(4,2)。复制。非常感谢您。很抱歉,您没有意识到您一直希望sht2单元格保持不变。因此,sheet3上的偶数列数得到
sheet2.range(“B4”)
,奇数列数得到
sheet2.range(“D5”)
?If
Sht3.range(“B4”)=sht2.range(“B4”)
Sht3.range(“C4”)=sht2.range(“D5”),
Sht3.range(“D4”)=Sht2.Range(“B4”)
Sht3.Range(“E4”)=Sht2.Range(“D5”)
因此,如果列索引为偶数,它将从B4获取,如果索引为奇数,它将从D5获取。你的照片澄清了。