我有一个代码将合并的单元格粘贴到另一个工作表中的新合并单元格中,但它会返回错误。
主要问题是,如果我将范围设置为String类型,例如sRange as String
没有问题,但是如果我将其设置为Range
那么它没有输出也会返回错误消息。
我的代码 :
Sub cmd_Click()
Dim lastrow As Long, erow As Long, sRange As Range, sCrange As String, cell As Variant
Set sRange = Sheet2.Range("J10:J500")
sCrange = "J5:J600"
For Each cell In sRange
If Not IsEmpty(cell) Then
Sheet2.Range(sRange).Copy Sheet4.Range(sCrange)
End If
Next
End Sub
有人可以帮我解决这个问题吗,先谢谢!
答案 0 :(得分:0)
更改
Sheet2.Range(sRange).Copy Sheet4.Range(sCrange)
到
sRange.Copy Sheet4.Range(sCrange)
试试看是否正确
答案 1 :(得分:0)
您的代码更改: Sheet2.Range(sRange).Copy Sheet4.Range(sCrange)
更改为: Cell.Copy Sheet4.Range(sCrange).Cell(i) I = I + 1
答案 2 :(得分:0)
考虑更改您声明变量的方式,请尝试:
Option Explicit
Sub cmd_Click()
Dim lastrow As Long, erow As Long
Dim sRange As Range
Dim sCrange As Range
Dim cell As Range
Set sRange = Sheet2.Range("J10:J500")
Set sCrange = Sheet4.Range("J5:J600")
For Each cell In sRange
If Not IsEmpty(cell) Then
sCrange.Value = sRange
End If
Next
End Sub