首页 > 解决方案 > 协助 (XLtoright) 功能。VBA

问题描述

我想将列选择 (a2:a200) 粘贴到右侧的下一个可用列。我很难做到这一点。在这里,我从表格中复制数据并将其粘贴到右侧最后一个可用列中。

Sub CopyMonthData() Worksheets("Tables").Range("d2:d200").Copy _ 
Worksheets("SalesInvoicesMonth").Range("a" & Columns.Count).End(xlToLeft).Offset(1, 0) End Sub

我怎样才能使这项工作?

标签: excelvba

解决方案


你可以UsedRange改用。

Sub CopyMonthData()
    Dim iLastCol as Integer
    With Worksheets("SalesInvoicesMonth")
        iLastCol = .UsedRange.Column + .UsedRange.Columns.Count - 1
        Worksheets("Tables").Range("d2:d200").Copy .Cells(1,iLastCol + 1)
    End With
End Sub

声明iLastCol可以帮助您了解如何计算值,但变量不是必需的。您可以在复制功能中将其替换为实际值 -->- 1+ 1相互取消,因此您可以.Cells(1,.usedRange.Column + .UsedRange.Columns.Count)作为目标范围。


推荐阅读