复制合并的单元格并粘贴到新工作表中

时间:2018-04-16 01:28:15

标签: excel vba excel-vba

我有一个代码将合并的单元格粘贴到另一个工作表中的新合并单元格中,但它会返回错误。

主要问题是,如果我将范围设置为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

有人可以帮我解决这个问题吗,先谢谢!

3 个答案:

答案 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