如果另一列有数据,则将一个单元格复制到列中的空白单元格

Copy one cell to blank cells in a column, if another column has data

我对此很陌生,但很想学习 :)

不幸的是,最近几天我一直在努力解决以下问题。

我需要将单个单元格 (J2) 的值复制到 A 列,从 A3 单元格到最后需要的单元格,具体取决于 B 列中包含数据的最后一行(这将是动态的),但这应该是正确的仅在单元格为空白的地方。在附带的示例中,我需要将 J2 粘贴到 A 列第 11 到 15 行中。

我尝试了各种方法,但我似乎无法结合仅针对 A 列中的空白单元格复制单个值(不是范围),具体取决于 B 列中是否有数据。

有什么想法吗?

谢谢朋友们!

我试过下面的代码,但它不起作用。

Sub copyLC()

Range("I2").Copy Range("A3:A" & Range("B" & Rows.Count).End(xlUp).Row)

Range("B3:H" & Cells(Rows.Count, "B").End(3).Row).Copy Cells(Rows.Count, "B").End(3)(2)

Dim lastRow1 As Long
Dim lastRow2 As Long
Dim m As Long
Dim r As Long

lastRow1 = Sheets("equip_hlp").Cells(Rows.Count, 1).End(xlUp).Row
Sheets("equip_hlp").Range("J3:J" & lastRow1).Copy

lastRow2 = Sheets("equip_hlp").Cells(Rows.Count, "I").End(xlUp).Row + 1
Sheets("equip_hlp").Range("I" & lastRow2).PasteSpecial Paste:=xlPasteValues

Dim lastRow As Long
lastRow = Cells(Rows.Count, 2).End(xlUp).Row
Dim i As Long
For i = 3 To lastRow Step 1
    If Cells(i, 1).Value = "" And Cells(i, 2).Value <> "" Then Cells(i, 1).Value = Cells(2, "J").Value

Range("B3:H" & Cells(Rows.Count, "B").End(3).Row).Copy Cells(Rows.Count, "B").End(3)(2)

Dim lastRow1 As Long
Dim lastRow2 As Long
Dim m As Long
Dim r As Long

lastRow1 = Sheets("equip_hlp").Cells(Rows.Count, 1).End(xlUp).Row
Sheets("equip_hlp").Range("K3:K" & lastRow1).Copy

lastRow2 = Sheets("equip_hlp").Cells(Rows.Count, "I").End(xlUp).Row + 1
Sheets("equip_hlp").Range("I" & lastRow2).PasteSpecial Paste:=xlPasteValues

Dim lastRow As Long
lastRow = Cells(Rows.Count, 2).End(xlUp).Row
Dim i As Long
For i = 3 To lastRow Step 1
    If Cells(i, 1).Value = "" And Cells(i, 2).Value <> "" Then Cells(i, 1).Value = Cells(2, "J").Value


End Sub

所以您想从第 3 行循环到最后一行以获取单个列,并在单元格为空的地方粘贴一个值?

下面的 mock-up 假定您实际上可以找到最后一行(例如,您在 B 列的最后一行没有空白)

dim lastRow as long
lastRow = cells(rows.count, 2).end(xlup).row
dim i as long
for i = 3 to lastRow Step 1
    if cells(i,1).value = "" and cells(i,2).value <> "" then cells(i,1).value = cells(2,"J").value
next i

希望这对您来说是一个很好的起点...根据 B (2) 列动态查找中的最后一行。

我在 If-statement 中添加了检查 B 列是否有数据,但如果您使用的是连续数据集,则可能没有必要,因此最后一行使用 B。