用VBA 写一个 统计表格K列个数 统计其中大于等于60有多少 大于等于75有多少
时间: 2023-03-06 14:53:42 浏览: 151
以下是用VBA编写的统计表格K列中大于等于60和大于等于75的数量的代码:
```
Sub 统计表格K列()
Dim 大于等于60的数量 As Long
Dim 大于等于75的数量 As Long
Dim i As Long
Dim 最后一行 As Long
最后一行 = Cells(Rows.Count, "K").End(xlUp).Row
For i = 1 To 最后一行
If Cells(i, "K").Value >= 60 Then
大于等于60的数量 = 大于等于60的数量 + 1
End If
If Cells(i, "K").Value >= 75 Then
大于等于75的数量 = 大于等于75的数量 + 1
End If
Next i
MsgBox "大于等于60的数量为:" & 大于等于60的数量 & vbCrLf & "大于等于75的数量为:" & 大于等于75的数量
End Sub
```
首先,这个代码会找到表格K列中的最后一行。然后,它会循环遍历从第一行到最后一行的所有行。对于每一行,它会检查K列的值是否大于等于60和大于等于75。如果是,它会将相应的计数器加1。最后,代码将使用 `MsgBox` 显示大于等于60和大于等于75的数量。
相关问题
用VBA 写一个 统计表格K列的总个数 并统计其中大于等于60有多少 大于等于75有多少并输出到单元格
### 回答1:
以下是使用VBA编写的代码,用于统计表格K列的总个数,以及其中大于等于60和大于等于75的数量,并将结果输出到单元格。
```
Sub 统计表格K列()
Dim 总数 As Long
Dim 大于等于60的数量 As Long
Dim 大于等于75的数量 As Long
Dim i As Long
' 获取表格的行数
Dim 行数 As Long
行数 = Range("K:K").Cells.SpecialCells(xlCellTypeConstants).Count
' 统计总数、大于等于60的数量和大于等于75的数量
For i = 1 To 行数
If Range("K" & i).Value <> "" Then
总数 = 总数 + 1
If Range("K" & i).Value >= 60 Then
大于等于60的数量 = 大于等于60的数量 + 1
End If
If Range("K" & i).Value >= 75 Then
大于等于75的数量 = 大于等于75的数量 + 1
End If
End If
Next i
' 输出结果到单元格
Range("A1").Value = "总数"
Range("B1").Value = 总数
Range("A2").Value = "大于等于60的数量"
Range("B2").Value = 大于等于60的数量
Range("A3").Value = "大于等于75的数量"
Range("B3").Value = 大于等于75的数量
End Sub
```
要使用此代码,请打开Excel,按下Alt+F11打开Visual Basic Editor,然后将代码复制并粘贴到新模块中。最后,返回Excel,并运行此宏。
### 回答2:
使用VBA编写一个统计表格K列的总个数,并统计其中大于等于60的个数和大于等于75的个数,并将结果输出到单元格,可以按照以下步骤进行:
1. 打开 Excel,并按下 ALT + F11 快捷键,进入 VBA 编辑器界面。
2. 在左侧的“项目”窗格中,选择你的工作簿的名称。
3. 点击“插入”菜单,选择“模块”,在弹出的窗口中粘贴以下代码:
```vba
Sub 统计()
Dim ws As Worksheet
Dim dataRange As Range
Dim cell As Range
Dim totalCount As Integer
Dim count60 As Integer
Dim count75 As Integer
' 设置要操作的工作表
Set ws = ThisWorkbook.Sheets("Sheet1") ' 把“Sheet1”替换为你的工作表的名称
' 定义要统计的范围,此处以K1至K最后一行为例
Set dataRange = ws.Range("K1:K" & ws.Cells(ws.Rows.count, "K").End(xlUp).Row)
' 初始化计数器
totalCount = 0
count60 = 0
count75 = 0
' 遍历数据范围,进行统计
For Each cell In dataRange
totalCount = totalCount + 1
If cell.Value >= 60 Then
count60 = count60 + 1
End If
If cell.Value >= 75 Then
count75 = count75 + 1
End If
Next cell
' 将统计结果输出到单元格
ws.Range("A1").Value = "总个数:"
ws.Range("B1").Value = totalCount
ws.Range("A2").Value = "大于等于60的个数:"
ws.Range("B2").Value = count60
ws.Range("A3").Value = "大于等于75的个数:"
ws.Range("B3").Value = count75
' 清除对象引用
Set ws = Nothing
Set dataRange = Nothing
Set cell = Nothing
End Sub
```
4. 将代码中的"Sheet1"替换为你要操作的工作表的名称。
5. 按下 F5 键或点击 VBA 编辑器工具栏中的运行按钮来执行代码。
6. 执行后,结果将会显示在单元格 A1、B1、A2、B2 以及 A3、B3 中,分别表示总个数、大于等于60的个数和大于等于75的个数。
以上就是利用 VBA 编写的统计表格 K 列的总个数,并统计其中大于等于60和大于等于75的个数,并将结果输出到相应单元格的方法。
### 回答3:
下面是使用VBA编写的实现要求的代码:
```vba
Sub 统计表格数据()
Dim lastRow As Long
Dim totalCnt As Long
Dim cnt60 As Long
Dim cnt75 As Long
' 获取最后一行的行号
lastRow = Cells(Rows.Count, "K").End(xlUp).Row
' 初始化计数器
totalCnt = 0
cnt60 = 0
cnt75 = 0
' 遍历统计K列中的数据
For i = 1 To lastRow
If IsNumeric(Cells(i, "K").Value) Then
totalCnt = totalCnt + 1
If Cells(i, "K").Value >= 60 Then
cnt60 = cnt60 + 1
End If
If Cells(i, "K").Value >= 75 Then
cnt75 = cnt75 + 1
End If
End If
Next i
' 将统计结果输出到指定单元格
Cells(1, "M").Value = totalCnt
Cells(2, "M").Value = cnt60
Cells(3, "M").Value = cnt75
End Sub
```
这个VBA宏会将K列中的总个数、大于等于60的个数和大于等于75的个数分别统计出来,并分别输出到M1、M2和M3单元格中。你可以将该代码复制到VBA编辑器中,然后运行宏来实现统计操作。
vba 统计AI列大于0的数相加
假设你要统计的 AI 列在 Excel 表格中的列名为 AI,可以使用以下 VBA 代码实现:
```
Sub SumAIColumn()
Dim lastRow As Integer
Dim sum As Double
lastRow = Cells(Rows.Count, "AI").End(xlUp).Row '获取 AI 列的最后一行
For i = 1 To lastRow
If Cells(i, "AI").Value > 0 Then '判断 AI 列当前行的值是否大于0
sum = sum + Cells(i, "AI").Value '如果大于0,累加到 sum 变量中
End If
Next i
MsgBox "AI 列大于0的数相加的结果为:" & sum '弹出消息框显示结果
End Sub
```
将以上代码复制到 VBA 编辑器中并运行,即可得到 AI 列大于0的数相加的结果。
阅读全文