excel选择最后两列并扩展

时间:2018-12-12 11:24:15

标签: excel vba

我喜欢使用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

有什么想法吗?

2 个答案:

答案 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