我无法使用工作表中的数据复制最后两列,然后在它们的左侧插入相同的列。这是我的代码到目前为止,它复制了正确的列,但它只是将它们粘贴到右边。
Sub GlobalPerformNewMonths()
Dim lngLastRow As Long
With ThisWorkbook.Worksheets("Global Supplier Performance")
lngLastRow = .Range("A" & .Rows.Count).End(xlUp).Row
.Cells(1, .Columns.Count).End(xlToLeft).Offset(,Resize(lngLastRow,Copy .Cells(1, .Columns.Count).End(xlToLeft).Offset(, -2)
Columns("D:AZ").ColumnWidth = 18.43
Application.CutCopyMode = False
End With
End Sub
答案 0 :(得分:1)
尝试选择所需数据的完整列。选择它们,然后将它们插入所需列的左侧。
Range("d:e").Select
Selection.Copy
Columns("C:C").Select
Selection.Insert Shift:=xlToRight
答案 1 :(得分:0)
您必须从找到的最后一列和Range.Resize转移到适当的单元格。为此,我建议使用Range.Cells property使用数字特定寻址。
Sub GlobalPerformNewMonths()
Dim lr As Long, lc As Long
With ThisWorkbook.Worksheets("Global Supplier Performance")
lr = .Cells(Rows.Count, 1).End(xlUp).Row
lc = .Cells(1, Columns.Count).End(xlToLeft).Column
With .Cells(1, lc - 1).Resize(lr, 2)
.Copy
.Insert Shift:=xlToRight
End With
.Columns("D:AZ").ColumnWidth = 18.43
Application.CutCopyMode = False
End With
End Sub