请我需要你的支持,选择特定的列,根据最后一行值的VBA
,以便只粘贴
因为我正在做一个项目,我只能做的是选择整个存在的数据到最后一行,并复制它正常,但有一些列,我不想选择他们
请帮忙!此代码选择整个数据Imported1ws.Range("A2: C",Imported1LastRow)。复制目标
,但实际上,例如我只需要复制A2:到它的最后一行,C2:到它的最后一行,F到它的最后一行还有,如何将选区粘贴到目标
复制非相邻列
Application.Intersect
Range.Copy
- 调整
"A:A,C:C,F:F"
,"Sheet1"
,"A"
(源最后一行-列),"2:"
(源第一行),"Sheet2"
,"A2"
(目标第一个单元格)。
常见场景
Option Explicit
Sub copyNonAdjacentColumns()
' Constants
Const sCols As String = "A:A,C:C,F:F"
' Workbook
Dim wb As Workbook: Set wb = ThisWorkbook ' workbook containing this code
' Source
Dim sws As Worksheet: Set sws = wb.Worksheets("Sheet1")
Dim sLastRow As Long
sLastRow = sws.Range("A" & sws.Rows.Count).End(xlUp).Row
Dim srg As Range
Set srg = Intersect(sws.Range(sCols), sws.Rows("2:" & sLastRow))
' Destination
Dim dws As Worksheet: Set dws = wb.Worksheets("Sheet2")
Dim dCell As Range: Set dCell = dws.Range("A2")
' Copy
srg.Copy dCell ' A,C,F to A,B,C
End Sub