【问题标题】:Problems with paste location range粘贴位置范围的问题
【发布时间】:2016-05-19 17:09:59
【问题描述】:

您好,我有一个代码,它根据给定的标准复制列并粘贴到另一张纸上。我想更改粘贴位置,因此它应该从 "C5" WF-4 CC with Values 表开始粘贴,但我无法这样做。它给出了选择方法失败错误。需要一些关于如何更改粘贴范围位置的帮助。谢谢:)这是代码:

Sub ExtractCCData4()

    Dim lastcol As Long
    Dim j As Long

    With Worksheets("WF - L4")
        lastcol = .Cells(5, Columns.Count).End(xlToLeft).Column

        For j = 3 To lastcol
            If Application.WorksheetFunction.Sum(.Columns(j)) > 0 Then
                .Columns(j).Copy Destination:=Worksheets("WF-4 CC with  Values").Columns(j)
            Else

            End If
        Next
    End With

End Sub

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    在 OP 澄清后编辑

    我假设

    • “它应该从“C5”开始粘贴意味着它从“C5”向右无缝粘贴,而不考虑跳过“WF - L4”列

      李>
    • 您只需要粘贴值

    那就试试这个

    Option Explicit
    
    Sub ExtractCCData4()
    
        Dim lastcol As Long
        Dim j As Long, jPaste As Long
        Dim rngToCopy As Range
    
        With Worksheets("WF - L4")
            lastcol = .Cells(5, .Columns.Count).End(xlToLeft).Column
    
            For j = 3 To lastcol
                If Application.WorksheetFunction.Sum(.Columns(j)) > 0 Then
                    Set rngToCopy = .Range(.Cells(1, j), .Cells(.Rows.Count, j).End(xlUp))
    
                    Worksheets("WF-4 CC with  Values").Range("C5").Offset(, jPaste).Resize(rngToCopy.Rows.Count).Value = rngToCopy.Value
                    jPaste = jPaste + 1 '<~~ updating column offsetting from "WF - L4" sheet column "C"
                Else
    
                End If
            Next
        End With
    
    End Sub
    

    【讨论】:

    • 它运行但粘贴位置表为空白
    • “从 C5 开始粘贴”实际上是什么意思?第一次从 C5 粘贴,第二次从 D5 粘贴,即使它跳过了“WF - L4”表中的更多列?还是什么?
    • 是的就是你刚才说的!
    • 它没有运行是一个无用的声明。尽力将其缩小到实际的输入和输出
    • 不客气。不确定“C9-C5”是一个问题还是只是你必须改变的东西
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-28
    • 1970-01-01
    • 1970-01-01
    • 2021-10-02
    • 1970-01-01
    • 2013-09-10
    相关资源
    最近更新 更多