跳过非空单元格以粘贴特殊数据
问题描述:
仅当范围(a3:M3)为空时,我想将工作表“SL”中的范围(a3:M3)中的数据复制到工作表“EL”中的范围(a3:m3) 。否则将所选数据复制到下一行(a4:m4)。跳过非空单元格以粘贴特殊数据
下面是我试图找出..但它不工作的代码... plz帮助
Range("C9:G10").Select
Selection.Copy
Sheets("EL").Select
For n = 1 To n = 100
If Cells(n, 2).Value <> "" Then
Cells(n + 1, 2).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End If
Next n
答
有代码中的某个点,我不明白:
- 为什么它是指
C9:G10
? - 为什么从
n=1 to 100
有一个循环? - 语法
For n = 1 To n = 100
不起作用如你所料 - >与For n = 1 To 100
更换)
这里是我的解决问题的方法:
Sub copyRange()
' Look if destination cells are empty
Dim isempty As Boolean
isempty = True
For Each cell In Sheets("EL").Range("a3:m3").Cells
If cell.Value! = "" Then isempty = False
Next
' Copy content from SL to EL into the correct line
Sheets("SL").Range("a3:m3").Select
Selection.Copy
If isempty Then
Sheets("EL").Range("a3:m3").PasteSpecial Paste:=xlPasteValues
Else
Sheets("EL").Range("a4:m4").PasteSpecial Paste:=xlPasteValues
End If
End Sub
感谢霍华德C9:G10仅仅是!要复制的初始数据(为便于参考,我把a3:m3)很抱歉,因为我的问题最初不清楚。实际上它应该是连续的。也就是说,如果a3:m3不为空,则应该转到a4:m4,如果a4:m4不为空,则a5:m5并继续到excel中的最后一个单元或将其限制为a10000:m10000 – VeeRz 2011-04-24 09:18:28