![](/img/trans.png)
[英]copy and paste the data one excel to another excel based on column name include blank cells
[英]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 行循环到 lastRow 以获取单个列,并且在单元格为空的地方粘贴一个值?
下面的模型假设您实际上可以找到最后一行(例如,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。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.