如何在Excel VBA中使用带有可变行和列的范围

  • Share This
Hugh West

当你想通过选择来格式化单元格并同时处理大量的数据时,它是很耗时间的。 但有了 VBA 在本教程中,我们将向你展示如何使用 变量行 变量栏 在一个范围内有 Excel VBA .

下载实践工作手册

下载这本练习手册,在阅读本文时进行练习。

使用VBA的变量行和列.xlsm

在Excel VBA中使用带有可变行和列的范围的5种合适方法

在下一节中,我们将证明 5 创造的方式 变量行 专栏 此外,我们还将向你展示如何使用它们来格式化或应用任何自定义功能。 可变范围 下面的图片显示了一个样本数据集,以利用该任务。

1.用Excel VBA通过应用变量行格式化一个特定范围

比方说,我们想选择一个 可变范围 通过申请 变量行号 我们将选择范围 B5:C10 并应用 字体颜色 ( 栗色 要做到这一点,请遵循以下简单步骤。

♠ 第1步:创建一个VBA模块

  • 首先,按 符号 + F11 以启动 VBA宏程序 .
  • 点击 关于 插入。
  • 然后,选择 模块 .

♠ 第2步:写一个VBA代码

  • 请写出以下内容 VBA代码。
 Sub Variable_row_Select() '声明一个行号变量 Dim Row_Number As Integer '进入一个输入框,键入10作为行号 Row_Number = InputBox("键入行号") '插入变量'row_num'以选择包含数据的前5行 Sheets("Sheet1").Range(Cells(5, 2), Cells(Row_Number, 3)).Select End Sub 

♠ 第三步:运行程序

  • 首先。 拯救 节目,并按 F5 来运行。
  • 因此, 输入框 会出现,然后输入 10 作为 行数 .

  • 最后,按 进入 来看 范围 与( 5 , 栏目 2 ) 到 ( 可变的第10行 , 第3栏 )将是 选定的 .

♠ 第四步:在范围内应用字体颜色

  • 要添加 字体颜色 在选定的 范围 ,粘贴以下内容 VBA代码 .
 Sub Variable_row_Font() '声明一个行号变量 Dim Row_Number As Integer '进入一个输入框,输入10作为行号 Row_Number = InputBox("输入行号") '插入变量'row_num'以选择包含数据的前6行 Sheets("Sheet1").Range(Cells(5, 2), Cells(Row_Number, 3)).Select '给字体输入一种颜色Maroon With Selection . Font.Color = RGB(128, 0, 0)End With End Sub 

♠ 第五步:输入行号

  • 类型 a 行数 ( 10 )中。 输入框 .
  • 点击 认可 .

  • 因此, 选择范围 将是 有色的 如下图所示。

阅读更多。 如何在Excel中使用VBA将一个范围变量设置为选择(5种方法)

2.用Excel VBA应用变量行来定制动态范围

当你使用的范围大到无法区分行号时,你可能需要使用 最后使用的行 作为你的 变量行 要做到这一点,请遵循以下概述的步骤。

♠ 第1步:输入一个VBA代码

  • 选择 一个新的 模块 插入
  • 在新 模块 , 下面的 VBA程序 .
 Sub Variable_Dynamic_Row() '为行号声明一个变量 Dim Last_Used_Row As Integer '为已用范围定义变量 Last_Used_Row = Worksheets("Sheet2").UsedRange.Rows.Count '应用该变量来选择范围内当前最后一行 Sheets("Sheet2").Range(Cells(5, 2), Cells(Last_Used_Row, 5) ).Select End Sub 

♠ 第二步:获得选择

  • 运行该程序后,你的 范围 将是 选定的 到你的 最后一次使用 行。

♠ 第三步:应用字体颜色

  • 纪念 选择范围 或向 编辑 , 粘贴 下面的 VBA代码 .
 Sub Variable_Dynamic_Row() '为行号声明一个变量 Dim Last_Used_Row As Integer '为已用范围定义变量 Last_Used_Row = Worksheets("Sheet2").UsedRange.Rows.Count '应用该变量来选择范围内当前的最后一行 Sheets("Sheet2").Range(Cells(5, 2), Cells(Last_Used_Row, 5)) .Select With Selection .Font.Color = RGB(128, 0, 0) End With End Sub 

♠ 第四步:最终结果

  • 最后。 拯救 该计划和 运行 通过按 F5 .
  • 因此,与你的范围 最后使用的行 是用颜色进行格式化的。

阅读更多。 Excel VBA:将动态范围复制到另一个工作簿中

类似读物

  • 如何在Excel中为范围内的每一行使用VBA
  • 用VBA在Excel中循环查看行和列(5个例子)
  • Excel VBA 循环查看单元格,直到出现空单元格(4个例子)。
  • 如何在Excel VBA中把范围转换成数组(3种方法)
  • 如何使用VBA在Excel中从活动单元格中选择范围(3种方法)

3.用Excel VBA通过应用变量列格式化一个特定范围

类似于 变量行 ,你可以申请 变量列 Excel VBA . B5 ( 5 , 专栏 2 )细胞是 第一单元 范围。 第8行 是指 最后一行 在这个范围内。 最后一栏 是指 变量栏 按照下面的程序来应用。 变量栏 .

♠ 第1步:写一个VBA代码

  • 在一个新的 模块 , 下面的 VBA代码 .
 Sub Variable_Column_Font() '为行号声明一个变量 Dim Column_num As Integer '进入一个输入框,输入5为Column编号 Column_num = InputBox("Type the Column number") '插入变量'Column_num'以选择包含数据的前5列 Sheets("Sheet3").Range(Cells(5, 2), Cells(8, Column_num)) .Select '为字体输入一种颜色,用Maroon色 With Selection . Font.Color =RGB(128, 0, 0) End With End Sub 

♠ 第二步:运行程序

  • 运行 节目,按 F5 之后 节约 .
  • 因此,你会看到以下结果,因为你的 选定的细胞 是范围 B5:E8 .

4.通过应用Excel VBA的变量列来定制动态范围

除了前面的,你还可以自定义 变量栏 当你 增加 数据在一个 栏目 这将 增加 选择 按照下面的简单说明进行操作。

♠ 第1步:粘贴一个VBA代码

  • 粘贴 下面的 VBA 编码到一个新的 模块 .
 Sub Variable_Dynamic_Column() '为列号声明一个变量 Dim lastColumn As Integer '为所用范围定义变量 lastColumn = Worksheets("Sheet4").UsedRange.Columns.Count '应用该变量来选择范围中最后一列 Sheets("Sheet4").Range(Cells(5, 2), Cells(8, lastColumn)).Select '将选定单元的字体着色为栗色 With Selection . Font.Color = RGB(128, 0,0) End With End Sub 

♠ 第二步:运行程序

  • 首先。 拯救 节目,并按 F5 来运行。
  • 结果是,该范围被选中并被格式化,直至 最后使用的栏目 在工作表中。

阅读更多。 Excel 宏程序:用动态范围对多列进行排序(4种方法)

5.用Excel VBA创建一个既有可变行又有可变列的范围

重要的是,你可以同时使用 变量行 变量列 在我们的范围选择中,第一个单元格是 B5 ( 5, 栏目 2 按照下面的步骤完成任务。

♠步骤1:输入VBA代码

  • 首先。 创建 一个新的 模块 .
  • 然后。 下面的 VBA代码 .
 Sub Variable_Column_Row() '声明一个行号变量 Dim Row_Number As Integer '声明一个列号变量 Dim Column_num As Integer '定义变量--输入8为行号,输入4为列号 Row_Number = InputBox("输入行号") Column_num = InputBox("输入列号") '应用变量来选择范围内的行和列 Sheets("Sheet5").Range(Cells(5, 2) 。Cells(Row_Number, Column_num)).Select With Selection .Font.Color = RGB(128, 0, 0) End With End Sub 

♠ 第二步:插入行号

  • 类型 任何 行数 .

♠ 第三步:插入列号

  • 类型 任何 列号 .

♠ 第四步:获得最终结果

  • 因此,当你选择( , 专栏 ) = ( 8,5 ),你将得到如下图所示的最终结果。

总结

最后,我希望你现在明白了如何使用带有可变行和列的范围,并使用 Excel VBA 所有这些策略都应该在你的数据被教育和练习的时候进行。 检查练习册并应用你所学到的东西。 由于你的慷慨支持,我们有动力继续提供这样的项目。

如果你有任何问题,请不要犹豫,与我们联系。 请在下面的评论部分分享你的想法。

ǞǞǞ 优秀 工作人员会尽快给你答复。

留在我们身边,继续学习。

Hugh West is a highly experienced Excel trainer and analyst with over 10 years of experience in the industry. He holds a Bachelor's degree in Accounting and Finance and a Master's degree in Business Administration. Hugh has a passion for teaching and has developed a unique teaching approach that is easy to follow and understand. His expert knowledge of Excel has helped thousands of students and professionals worldwide improve their skills and excel in their careers. Through his blog, Hugh shares his knowledge with the world, offering free Excel tutorials and online training to help individuals and businesses reach their full potential.