vba - 获取过滤行数并将结果粘贴到列中
问题描述
我有一个包含地址和相关信息(包括州)的工作表。我想按州过滤工作表并计算过滤的行数,将该行数粘贴到相邻列中的州缩写旁边:StateIN RCount
我可以获取代码来自动过滤并列出工作表中使用的所有状态,但是无法弄清楚如何告诉 Excel 我希望它为我提供每个列出的状态的过滤行数(减去标题行)。我已经尝试了几件事,但这本质上是我正在使用的代码:
'filter and copy individual state data from vqueue worksheet to state worksheet
Application.ScreenUpdating = False
Dim x As Range
Dim rng As Range
Dim lastRow As Long
Dim sht As String
Dim LR As Long
LR = Range("A" & Rows.Count).End(xlUp).Row
'specify sheet name in which the data is stored
sht = "vqueue"
'change filter column in the following code
lastRow = Sheets(sht).Cells(Rows.Count, "J").End(xlUp).Row
Set rng = Sheets(sht).Range("A1:AC" & lastRow)
Sheets(sht).Range("J1:J" & lastRow).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("AD1"), Unique:=True
For Each x In Range([AD2], Cells(Rows.Count, "AD").End(xlUp))
With rng
.AutoFilter
.AutoFilter Field:=10, Criteria1:=x.Value
Range("AE" & x).Value = ws.AutoFilter.Range.Columns(1).SpecialCells(xlCellTypeVisible).Cells.Count
.SpecialCells(xlCellTypeVisible).Copy
Sheets.Add(After:=Sheets(Sheets.Count)).Name = x.Value
ActiveSheet.Paste
End With
Next x
我不完全确定我什至将它放置在 for/with 循环中的正确位置。目前,我收到 424 Object required 错误。提前感谢您的帮助!
解决方案
考虑到您只需要计算符合特定条件的 os 记录数,我建议只使用公式而不是 VBA 来处理这种情况。您可以使用其中一个COUNTIF
或COUNTIFS
功能。如果您使用的是最新版本的 Excel,您还有一个FILTER
函数可用于根据指定条件动态生成状态列表,然后使用其中一个计数函数来获取记录计数。
推荐阅读
- python - Nuitka - 编译模块,包括预编译的 .so 库
- angular - RxJS 在不应该更新的时候不断更新
- sql - Oracle - 带有 INSERT 和 UPDATE 的合并语句
- php - 如何将 Composer 的 PHP 扩展添加到 Azure DevOps Pipeline
- python - 在类之外定义魔术方法有什么用?
- javascript - 无法读取未定义 discord.js 的属性“发送”
- python - 如何折叠我用 PyTorch 展开的有重叠的张量?
- c# - 使用 .NET Framework 下载文件时降低服务器端请求伪造的风险
- xcode-storyboard - 带有图像和备用图像的 NSButton 在 macOS 10.13 上消失
- kdb - kdb - 根据数据点截断后续行