我的一个excel 里面有多个工作表。要统计出所有工作表中的G列中的数据最多的前十个。如何统计?
里面的漏洞名称在各个工作表中有些是一样的。有的是不一样的。所有统计起来很麻烦。高手解答下。
工作表有上万个。那不是要把人累死了
追答上万个?一个工作簿里有上万个工作表?你电脑多大内存啊?
你是说有上千个文件,每个文件都有许多张工作表么?
那样用vba也能处理,但已经不是你提的这个问题的范畴了
几百个工作表还是有的。兄弟最好能给咱解决下。录制个小教程。感激不尽啊
追答1) 插入新工作表,改名"Table"
2) 新工作表中插入一个按钮(ActiveX控件),双击,自动生成单击事件过程
3)在事件过程代码中输入
on error resume next
Application.ScreenUpdating = False
Dim sht As Worksheet, R As Long, I As Long
Me.Range("A1").Value = "漏洞名称"
I = 2
For Each sht In ThisWorkbook.Worksheets
If sht.Name Me.Name Then
R = sht.Range("G" & Rows.Count).End(xlUp).Row
Me.Range("A" & I).Resize(R - 2, 1).Value = sht.Range("G3").Resize(R - 2, 1).Value
I = I + R - 2
End If
Next
Application.ScreenUpdating = True
4) 退出代码设计模式,单击按钮
5)等到全部执行完,选择A列非空数据,生成数据透视表,行字段放漏洞名称,数值区域计数漏洞名称,再重排下序。完成
文件属于商业机密文件不能外传的。我加你
追答你能不能把文件简化处理一下。把不可外传的删除了