我喜欢使用VBA代码来选择工作表的最后两列。 选择列后,需要将其扩展到DI列。
我到目前为止所拥有的代码:
Private Sub CommandButton2_Click()
'select the last two columns
Range("G9").Select
Selection.End(xlToRight).Select
ActiveCell.EntireColumn.Resize(, 2).Offset(, -1).Select
'Extend the two last columns until it have reached column: DI
End Sub
现在,我只需要添加两列的拖动代码,直到到达列“ DI”,如下图所示。我没有图像的声誉,因此它成为了一个链接 image
有什么想法吗?
答案 0 :(得分:0)
这将在最后一列(基于您使用G9
的第9行中的数据)和列DI
之间选择列。
Sub test()
Dim rng As Range
With ThisWorkbook.Worksheets("Sheet1")
Set rng = .Range(.Cells(9, .Columns.Count).End(xlToLeft).EntireColumn, .Columns("DI"))
End With
'Try not to select ranges before using them.
MsgBox rng.Address
rng.Interior.Color = RGB(255, 255, 0) 'Turn background to yellow.
rng.Select 'Select the range.
End Sub
所选内容将包括最后一个填充列。
因此,可能要改用.Cells(9, .Columns.Count).End(xlToLeft).Offset(, 1).EntireColumn
。
如果最后一个填充的列是> DI
,它将向后选择,因此例如可以选择列DN:DI
。
修改:
要从最后填充的列自动填充到列DI
,请执行以下操作:
Sub test()
Dim rng As Range
Dim rngStart As Range
With ThisWorkbook.Worksheets("Sheet1")
Set rngStart = .Cells(9, .Columns.Count).End(xlToLeft).Offset(, -1).EntireColumn.Resize(, 2)
Set rng = .Range(rngStart, .Columns("DI"))
End With
rngStart.AutoFill rng, xlFillValues
End Sub
答案 1 :(得分:0)
感谢所有帮助,我对代码进行了一些编辑以使其对我有用。
x1 free