如何在Excel中用VBA计算行数(5种方法)

  • Share This
Hugh West

今天,我将向你展示如何用以下方法计算行数 VBA 我将向你展示如何从一个特定的范围、一个选定的范围、通过匹配一个特定的标准、通过匹配一个特定的文本值、以及通过排除空白单元格来计算行。

下载实践工作手册

用VBA计算行数.xlsm

在Excel中用VBA计算行数的5种方法

这里我们有一个数据集,其中有一些学生的名字和他们在一所叫做向日葵幼儿园的学校的英语标记。

今天,我们的目标是用一个名为 "A "的程序来计算行的总数。 VBA代码 .

1.使用VBA代码来计算特定范围的行数

步骤1。

新闻 ALT+F11 在你的键盘上。 VBA窗口 将打开。

第2步。

转到 插入 中的选项卡。 VBA 窗口。

从可用的选项中,选择 模块 .

I

第3步。

一个新的模块窗口名为 "模块1" 将打开。

插入以下内容 VBA 模块中的代码。

代码。

 Sub Count_Rows() Dim rng As Range Set rng = Range("B4:C13") MsgBox rng.Rows.Count End Sub 

注意事项。

  • 这段代码产生了一个 宏观 叫做 数行 .
  • ǞǞǞ 第三届 行的代码包含指定的范围" B4:C13″。 我想计算这个范围内的行数。
  • 你用你的一个。

第4步。

将工作簿保存为 Excel Macro-Enabled 工作簿 .

第5步。

➤ 返回到你的工作表并按 ALT+F8 在你的键盘上。

➤ 一个名为 宏观 将打开,选择 Count_Rows ( 的名称。 宏观)。 并点击 运转 .

第6步。

你会发现一个小信息框,显示总行数( 10 在这种情况下)。

点击 认可 退出。

阅读更多。 用Excel VBA来计算数据的行数

2.运行Excel VBA代码来计算选定范围的行数

在之前的方法中,我们计算了一个特定范围的行数( B4:C13 ).

但我们也可以用一个 VBA 代码来计算任何选定范围内的行数,根据我们的愿望。

步骤都是一样的 方法一 ( 步骤1-6 ).

⧪ 刚进去 第3步 ,而不是之前的代码,插入这个代码。

代码。

 Sub Count_Selected_Rows() Dim rng As Range Set rng = Selection MsgBox rng.Rows.Count End Sub 

请注意。

  • 这段代码创建了一个模块,名为 数值_选择的行 .

⧪ 而在 第5步 在运行代码之前,先选择一个范围。 在这里,我选择了我的整个数据集(不包括 专栏标题 ).

⧪ 然后按 ALT+F8 , 选择 数值_选择的行 ,并点击 运行 .

你会得到一个信息框,显示你所选范围内的总行数( 10 在这种情况下)。

3.在Excel中插入VBA代码来计算带有标准的行数

我们也可以用一个 VBA 代码来计算维持一个特定标准的行的总数。

例如,让我们创建一个 宏观 这将计算得到的分数低于40分的学生数量。

步骤也都是和 方法一 ( 步骤1-6 ).

⧪ 刚进去 步骤3 , 改变 VBA 代码到此。

代码。

 Sub Count_Rows_with_Criteria() Dim Count As Integer Count = 0 For i = 1 To Selection.Rows.Count If Selection.Cells(i, 1) <40 Then Count = Count + 1 End If Next i MsgBox Count End Sub 

请注意。

  • 这段代码创建了一个模块,名为 有标准的行数(Count_Rows_with_Criteria .
  • 在行 6 ,我们用 "<40" 因为这是我们使用的标准。 你可以根据你的需要改变它。

⧪ 而在 第5步 在运行代码之前,选择有条件的单元格范围。 这里我只选择了列 C ( C4:C13 ),因为标准就在那里。

⧪ 然后按 ALT+F8 , 选择 有标准的行数(Count_Rows_with_Criteria ,并点击 运行 .

你会得到一个信息框,显示符合你的标准的总行数( 3 在这种情况下)。

类似读物

  • Excel计算可见行数(公式和VBA代码)
  • 淘宝网上卖的是什么?

4.嵌入VBA代码来计算具有特定文本值的行数

你也可以用一个 VBA 代码来计算包含特定文本值的行的数量。

看看这个新的数据集。

我们有 书籍记录 一个叫马丁书店的书店的一些书。

让我们创建一个 宏观 将计算该数据集中具有特定文本的书籍的数量。

步骤也都是和 方法一 ( 步骤1-6 ).

⧪ 刚进去 步骤3 , 改变 VBA 代码到此。

代码。

 Sub Count_Rows_with_Specific_Text() Dim Count As Integer Count = 0 Dim Text As String Text = InputBox("Enter Text Value: ") LText = LCase(Text) For i = 1 To Selection.Rows.Count Words = Split(Selection.Cells(i, 1)) For Each j In Words LWord = LCase(j) If LText = LWord Then Count = Count + 1 End If Next j Next i MsgBox Count END Sub 

请注意。

  • 这段代码创建了一个模块,名为 有特定文本的行数(Count_Rows_with_Specific_Text .

⧪ 而在 第5步 在运行代码之前,选择带有文本值的单元格区域。 在这里,我选择了区域 B4:B13 ( 书籍名称 ).

⧪ 然后按 ALT+F8 , 选择 有特定文本的行数(Count_Rows_with_Specific_Text ,并点击 运行 .

⧪ 安 输入框 会出现要求你输入你想匹配的特定文本值。

在这个例子中,我将其输入为 "历史" .

最后,你会得到一个信息框,显示包含特定文本的总行数( 3 在这种情况下)。

阅读更多。 如何在Excel中用文本计算行数

5.在Excel中使用VBA计算空白单元格的行数

最后,我们将开发一个宏,计算数据集中除去空白单元格的总行数。

看看这个新的数据集。

我们有 符号 在一家名为APEX集团的公司的招聘考试中,一些候选人的情况。

但不幸的是,有些考生无法参加考试,他们的分数处出现了空白单元。

让我们开发一个宏,来计算除去空白单元格的总行数。

这意味着,有多少考生参加了考试。

步骤都是一样的 方法一 ( 步骤1-6 ).

⧪ 刚进去 第3步 ,输入这个 VBA 代替先前的代码。

代码。

 Sub Count_Rows_with_Blank_Cells() Dim Count As Integer Count = 0 For i = 1 To Selection.Rows.Count If Selection.Cells(i, 1) "" Then Count = Count + 1 End If Next i MsgBox Count End Sub 

请注意。

  • 这段代码创建了一个模块,名为 有空白单元格的行数 .

⧪ 在 第5步 在运行代码之前,选择有空白单元格的单元格区域。 在这里,我选择了单元格区域 C4:C13 ( 特斯的标记 t).

⧪ 然后按 ALT+F8 , 选择 有空白单元格的行数 ,并点击 运行 .

你会得到一个信息框,显示除去空白单元格的总行数( 7 在这种情况下)。

总结

使用这些方法,你可以用以下方法计算行数 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.