excel - 跨多个工作表计算数据
问题描述
我想计算一列中包含数据的单元格的数量。
我必须从所有工作簿中计算这些单元格。
例如,我有 2 个工作簿:WB1 和 WB2。
- 工作表 WS1,A1、A2、A3、A4 中的数据
- 工作表 WS2 与 A1、A2 中的数据。
- 我的输出应该显示 6。
这个怎么算?
Option Explicit
Private Sub CommandButton1_Click()
Dim paths(), wbs() As Workbook
Dim x As Integer
Dim sh, rn, k
paths = Application.GetOpenFilename(FileFilter:="Excel Files (*.XLSX), *.XLSX", _
MultiSelect:=True, Title:="Please browse all the Rawdata files")
For x = 1 To UBound(paths)
ReDim wbs(UBound(paths))
Set wbs(x) = Workbooks.Open(paths(x))
Set sh = wbs(x).Sheets("Role ID - Description")
Set rn = sh.UsedRange
k = rn.Rows.Count + rn.Row - 1 - 1
wbs(x).Close
Next
End Sub
解决方案
您没有在工作簿的工作表之间维护您的计数器(例如,k = k + 1 迭代 1)。在您的工作簿中,您需要以下内容:
dim i as long, k as long, lr as long
With Workbook("blah")
For i = 1 to .sheets.count
With .Sheets(i)
lr = .cells(.rows.count,1).end(xlup).row
k = k + lr
End with
Next i
'output k to some destination
k=0
End with
编辑1:
根据 Kubie 的建议添加计数场景(未经测试):
dim i as long, k as long, cnta as long
With Workbook("blah")
For i = 1 to .sheets.count
With .Sheets(i)
cnta = application.counta(.columns(1))
k = k + cnta
End with
Next i
'output k to some destination
k=0
End with
推荐阅读
- android - ion-list 不滚动且项目不可点击
- elasticsearch - 使用 multi_match 查询时如何克服 maxClauseCount 错误
- python - 为 pytrends Google Trends API 指定区域
- pandas - 熊猫数据透视表奇怪的结果
- javascript - 使用 Chrome 扩展的 ServiceNow Rest API 调用
- debugging - 调试 NuGet 包(再次......)VS 2017
- scheme - 通过 FFI 调用 Raylib 时,Racket 中的 SIGSEGV MAPERR
- javascript - 使用 JavaScript 在 div 内使用鼠标事件绘制直线
- php - 从 url 中删除 %2523 并重定向到新的,而不使用 .htaccess
- html - Firefox 打印的页面比 chrome 少 - 为什么?