我在excel中编码时遇到困难,无法弄清楚该怎么做。我正在尝试从一行中获取数据,在同一工作簿的同一张工作表的不同区域中搜索空白行,使用仅值设置复制数据,然后删除原始数据。
到目前为止,这就是我所拥有的,唯一的问题是我不确定如何告诉它粘贴数据。问号指示我被卡在哪里。我什至需要其他东西还是可以直接进入代码的“ selection.pastespecial”部分?
任何帮助或指导将不胜感激,谢谢!
Sub Find_Blank_And_Fill()
Dim cnter As Integer
lastRow = Cells(Rows.Count, 1).End(xlUp).Row
cnter = 0
For i = 1 To lastRow
If IsEmpty(Cells(i, 1)) Then
Range("B29:F29").Select
Selection.copy
????
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Select
cnter = cnter + 1
End If
Next i
End Sub
有一张照片可以帮助我更好地理解它。
此致
ProWHP
答案 0 :(得分:0)
您已经拥有的东西将起作用。但是,我将进行以下编辑:
Sub Find_Blank_And_Fill()
Dim cnter As Integer
lastRow = Cells(Rows.Count, 1).End(xlUp).Row
cnter = 0
Range("B29:F29").copy 'Avoid using "Select"! Also, this way you only copy once.
For i = 3 To lastRow 'Start your fill operation after your known rows
If IsEmpty(Cells(i, 1)) Then
Cells(i,2).PasteSpecial Paste:=xlPasteValues 'Simplified
cnter = cnter + 1 'Why is this here? It's counting empty rows right now
End If
Next i
application.cutcopymode = false 'Turns off the box around the area you copied
End Sub