Excel 如何在VBA中获取基于两个变量的范围

Excel 如何在VBA中获取基于两个变量的范围,excel,vba,Excel,Vba,我有最后一行和最后一列变量 我通过以下步骤得到这些 last_column=.Cells(1,.Columns.Count).End(xlToLeft).column 及 last_row=.Range(“A”和.Rows.Count).End(xlUp).row 我的问题是,我试图基于这些变量创建一个选择,以便范围从E33到最后一行和最后一列。然而,我得到了一个错误。这是代码 范围(“E33:&最后一列&最后一行)。选择 非常感谢你的帮助 可以将Cells()与列号和行号一起使用 set my

我有最后一行和最后一列变量

我通过以下步骤得到这些

last_column=.Cells(1,.Columns.Count).End(xlToLeft).column

last_row=.Range(“A”和.Rows.Count).End(xlUp).row

我的问题是,我试图基于这些变量创建一个选择,以便范围从
E33
到最后一行和最后一列。然而,我得到了一个错误。这是代码

范围(“E33:&最后一列&最后一行)。选择

非常感谢你的帮助

可以将Cells()与列号和行号一起使用

set myRange = Range(Cells(33, "E"),Cells(last_row,last_column))
除非您在工作表模块中使用此代码,否则请确保限定范围和单元格方法地址所在的工作表

范围(“E33:&最后一列&最后一行)。选择

在上述代码中使用前,需要将
last\u列
转换为字符串。这就是你想要达到的目标吗

Dim ColName As String
Dim rng As Range

ColName = Split(Cells(, last_column).Address, "$")(1)
Set rng = ws.Range("E33:" & ColName & last_row)
在上述代码中,
ws
是相关的表单

注意

  • 避免使用
    。选择
    。你可能想看看

  • ++做得好:)