以下是一个示例代码,可以通过遍历一列,记录其中不同字段出现的次数,并将统计数据列出到指定工作表中:

Sub CountOccurrences()

Dim currentRow As Long
Dim lastRow As Long
Dim currentField As String
Dim occurrences As Long

'设置要统计的列和目标工作表
Const columnToCount = "A"
Const targetSheetName = "统计结果"

'获取目标工作表
Dim targetSheet As Worksheet
Set targetSheet = Worksheets(targetSheetName)

'获取要统计的最后一行
lastRow = Cells(Rows.Count, columnToCount).End(xlUp).Row

'清空目标工作表
targetSheet.Cells.ClearContents

'循环遍历列中的每一行
For currentRow = 1 To lastRow
    '获取当前行的值
    currentField = Cells(currentRow, columnToCount).Value
    
    '如果当前值不为空
    If currentField <> "" Then
        '增加当前值的出现次数
        occurrences = occurrences + 1
        
        '如果当前值已经出现过
        If targetSheet.Range("A:A").Find(currentField) <> Nothing Then
            '增加当前值在目标工作表中的出现次数
            targetSheet.Range("B" & targetSheet.Range("A:A").Find(currentField).Row).Value = _
                targetSheet.Range("B" & targetSheet.Range("A:A").Find(currentField).Row).Value + 1
        Else
            '否则,在目标工作表中新增一行,记录当前值和出现次数
            targetSheet.Range("A" & occurrences).Value = currentField
            targetSheet.Range("B" & occurrences).Value = 1
        End If
    End If
Next currentRow

End Sub

这个代码会在目标工作表中创建两列,第一列记录不同的字段,第二列记录对应字段出现的次数。如果需要统计的列或目标工作表名称不同,可以根据实际情况进行修改。


原文地址: https://www.cveoy.top/t/topic/lLcp 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录