迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Vba >

在 VBA 中计算列数

作者:迹忆客 最近更新:2023/03/19 浏览次数:

本文将讨论在 Excel 中使用 VBA 轻松计算包含数据的列的两种方法。

在 VBA 中计算列数

当我们有一个包含几列的小数据表时,我们可以很容易地统计它们,但是对于一个大数据表来说,要统计所有列而没有任何错误是相当困难的。除此之外,某些列可能包含数据,而某些列可能完全空白。

因此,在大数据表的情况下计算所有列的数据是非常困难的。现在,让我们创建一个包含一些示例数据的工作表。

创建工作表以计算 VBA 中的列数

我们可以在下面的数据表中看到三列。为了控制单个 Excel 工作表中使用的列数,我们将使用 VBA 代码。

首先,我们通过按 ALT + F11 键打开 VBA 编辑器。之后,从 Insert > Module 创建一个新模块。

创建新宏来计算 VBA 中的列数

然后,创建一个新的 sub,usedColumns()。在我们的新 sub 中,我们将使用 with 循环使用 UsedRange 方法获取已使用的范围。

之后,我们使用 columns 的 count 方法来输出使用的列数。

示例代码:

# VBA
Sub usedColumns()
With Sheet1.UsedRange
MsgBox "The Used Columns are: "& .Columns.Count
End With
End Sub

保存宏并通过按F5或单击运行来运行它。Macro 对话框将如下所示。

输出:

使用 With 循环计算 VBA 中的列

在 VBA 中计算范围内的列

以下 VBA 代码计算给定范围内具有数据的所有列。

让我们创建一个新的子 ColumnsInRange()。在这个 sub 中,我们将使用 range 函数来选择和计算该范围内的列数。

示例代码:

# VBA
Sub ColumnsInRange()
Dim newRange As Worksheet
Set newRange = Worksheets("Sheet1")
MsgBox "The Used Columns are: " & newRange.Range("A15:D15").Columns.Count
End Sub

输出:

计算给定范围内数据的所有列

在 VBA 中使用 Range().End 方法

我们可以使用 Range().End 方法来获取该范围内使用的最后一列。

创建一个新的 sub,findLastColumn(),在该 sub 内,我们将使用 range 的 End 方法来查找工作表右侧使用的最后一列。

# VBA

Sub findLastColumn()
Dim newRange As Integer
newRange = Range("A2").End(xlToRight).Column
MsgBox newRange
End Sub

输出:

使用 End 方法计算 VBA 中最后一列被用于工作表右侧的列

我们在弹出的对话框中获取最后一列的编号,如上图所示。

在 VBA 中使用 Cells.Find() 方法

我们还可以使用 Range.Find 方法使用 VBA 代码从工作表中获取最后使用的列。

检查以下代码。在 LastColumnByFind() 子程序中,我们使用 Cells.Find() 方法来查找最后使用的列。

示例代码:

# VBA
Sub LastColumnByFind()
Dim newRange As Long
    newRange = Cells.Find(What:="*", _
                    After:=Range("A1"), _
                    LookAt:=xlPart, _
                    LookIn:=xlFormulas, _
                    SearchOrder:=xlByColumns, _
                    SearchDirection:=xlPrevious, _
                    MatchCase:=False).Column
    MsgBox "Last Used Column Number by Find Method: " & newRange
End Sub

输出:

使用 Find 方法计算 VBA 中的列数

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便