使用列和行号复制范围(整数)vba
问题描述:
我有一个标准模板。以抵消用户添加自己的列的事实,我已将所有列编入索引。我为标题标题创建了一个变量,并为此变量分配了一个整数。 因此,列A始终被称为字符串变量ColumnA
,整数变量为IColumnA
。我也有最后一排的行数和变量LRow
。使用列和行号复制范围(整数)vba
我的问题是:
我如何选择一列范围内的整数变量?
例如range(IcolumnA, lastrow .end (xlUp)).Copy
(说明书或其变体)
这不起作用,因为该整数不与范围方法(我认为)工作。
谁能帮我一起?
答
编辑: 这是问题的一个通用的解决方案“如何复制的范围”。答案是 - 声明源和目标和源复制到目标:
Option Explicit
Public Sub TestMe()
Dim rngSource As Range
Dim rngTarget As Range
With Worksheets(1)
Set rngSource = .Range(.Cells(2, "A"), .Cells(100, "B"))
Set rngTarget = .Range(.Cells(2, "C"), .Cells(100, "D"))
rngSource.Copy
rngTarget.PasteSpecial xlPasteAll
Application.CutCopyMode = False
End With
End Sub
如果你只是想整列复制,尝试这样的事情:
Sub TestMe()
Range(Columns(5), Columns(6)).Copy
Range(Columns(7), Columns(8)).PasteSpecial xlPasteAll
Application.CutCopyMode = False
End Sub
它将复制列5到6到7到8列。当然,你可以把变量放在数字中而不是数字上。
这是更复杂一点,与变量:
Sub TestMe()
Dim lngCopyColumn As Long: lngCopyColumn = 2
Dim lngPasteColumn As Long: lngPasteColumn = 10
Dim lngLenC As Long: lngLenC = 3
Range(Columns(lngCopyColumn), Columns(lngCopyColumn + lngLenC)).Copy
Range(Columns(lngPasteColumn), Columns(lngPasteColumn + lngLenC)).PasteSpecial xlPasteAll
Application.CutCopyMode = False
End Sub
你是什么意思与LngLenC?这是总行数? k,清除 – MyName
@MyName - 合计范围内的列。这两个范围应该是相同的。 – Vityata
谢谢。唯一的事情是它选择整个列。我需要用1从第一个单元格(从单元格2)结束(xlDown)来抵消它。我试图绕过一些小小的成功。你能指定这个命令需要去的地方吗? 'WsStam.Range(列(iKolomnrCorpID),列(iKolomnrCorpID))。复制' – MyName