ExcelVBA。如何 select 某个单元格,然后向下偏移可变数字或行,然后打印 selection

Excel VBA. How to select a certain cell, then offset a variable number or rows down, and then print that selection

正如标题所说。我需要在从 B18 到 J18 的区域打印,并向下打印可变数量的行。我不知道如何设置它。使用 =COUNTA(B20:B65536) 函数将该变量号保存在单元格 O24 中。我只需要选择下降那么多行。

到目前为止,这是我的代码。

Sub PrintPlease()

I = Cells("O24").Value

With ActiveSheet.PageSetup
    .Zoom = False
    .Orientation = xlPortrait
    .FitToPagesWide = 1
    .FitToPagesTall = 1

    ExecuteExcel4Macro ("PAGE.SETUP(,,,,,,,,,,,,{#N/A,#N/A})")
    If .Zoom < 30 Then
        .Zoom = 50
    Else
        .Zoom = False
        .FitToPagesWide = 1
    End If

End With

Range ("B18:J18"), Cells("B18").Offset((I), 3).PrintOut, Preview:=True

End Sub

您可以使用

Range("B18:J" & Range("O24").Value).PrintOut Preview:=True

由于单元格 O24 中的值包含要打印到的行数,因此您可以打印从单元格 B18 开始到单元格 J 结束的范围以及单元格 O24 的值,方法是将单元格 O24 中的值附加到B18:J.