EXCEL VBA 如何跨工作簿粘贴 ???
Sub宏1()Dimrng1,RNG2AsRangeSetrng1=Range("C6:W80")ForEachRNG2Inrng1IfRNG2.HasFormula=F...
Sub 宏1()
Dim rng1, RNG2 As Range
Set rng1 = Range("C6:W80")
For Each RNG2 In rng1
If RNG2.HasFormula = False Then
Sheets("生成").Activate
Range(RNG2.Address).Select
Selection.Copy
Sheets("上报").Select
Range(RNG2.Address).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End If
Next RNG2
End Sub
代码如上。
目的检查上报表C6:W80区域中单元格是否是公式,如果不是则把“生成”表中的对应单元格内容复制过来。上面的代码已经可以实际这个功能,但是工作效率比较低, 需要花费比较长的时间,请问有没有更好的办法实现这个功能。 展开
Dim rng1, RNG2 As Range
Set rng1 = Range("C6:W80")
For Each RNG2 In rng1
If RNG2.HasFormula = False Then
Sheets("生成").Activate
Range(RNG2.Address).Select
Selection.Copy
Sheets("上报").Select
Range(RNG2.Address).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End If
Next RNG2
End Sub
代码如上。
目的检查上报表C6:W80区域中单元格是否是公式,如果不是则把“生成”表中的对应单元格内容复制过来。上面的代码已经可以实际这个功能,但是工作效率比较低, 需要花费比较长的时间,请问有没有更好的办法实现这个功能。 展开
展开全部
Sub 宏1()
Dim RNG2 As Range
With Sheets("生成")
For Each RNG2 In .Range("C6:W80")
If RNG2.HasFormula = False Then RNG2.Copy Destination:=Sheets("上报").Range(RNG2.Address)
Next RNG2
End With
End Sub
Dim RNG2 As Range
With Sheets("生成")
For Each RNG2 In .Range("C6:W80")
If RNG2.HasFormula = False Then RNG2.Copy Destination:=Sheets("上报").Range(RNG2.Address)
Next RNG2
End With
End Sub
更多追问追答
追问
您的回答可以把“生成”表的数值粘贴过来,可是“生成”表的公式到了“上报”表中是空。
我想把“生成”表中的公式结果做为数值粘贴到“上报”表中,该如何处理,谢谢!
追答
???
可是,你的要求是只复制不包含公式的单元格:If RNG2.HasFormula = False Then
所以不需要数值粘贴,直接复制即可。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询