excel - 检查列中是否有“1”,如果有,则过滤
问题描述
我有这段代码可以让我搜索一个字符串,如果它在那里,然后过滤那个字符串,但如果它不在那里,那么什么也不做。
Dim Findvalue As String
Dim Rng As Range
Findvalue = "1"
With ws.Range("K:K")
Set Rng = .Find(What:=Findvalue, _
After:=.Cells(.Cells.Count), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not Rng Is Nothing Then
ws.Range("K4").AutoFilter _
Field:=11, _
Criteria1:="1"
Else
Exit Sub
End If
End With
如果该值是字母,则此方法有效,但当它为数字时无效。
解决方案
find 方法经常有格式相关的问题;你可以试试
Dim Findvalue As String
Findvalue = "1"
With ws
If Application.WorksheetFunction.CountIf(.Range("K:K"), Findvalue) > 0 Then
.Range("K4").AutoFilter _
Field:=11, _
Criteria1:="1" 'Criteria1:=Findvalue ?
End If
End With
推荐阅读
- javascript - vue.js VeeValidate - 自定义验证器正确编译错误但不切换错误类
- android - Appium (Android):在设备上运行 1 次测试后启动超时
- c - 如何规避 GCC 的“尝试使用中毒的 malloc/calloc”错误?
- c++ - 指针无效?
- reactjs - 错误:将语义 UI 与 Webpack 4 结合时做出反应
- python - 从其他两个字典的差异中创建字典的最佳方法是什么?
- c# - 如何创建自己的 Raycast 组件,它不需要碰撞器,但在 C# Unity3D 中支持 Skinned Mesh Renderer?
- visual-studio - TeamCity Visual Studio 测试构建步骤以运行单个测试
- android - 适用于 Android 的 Firestore getAll 等效项
- python - Python:更好地使用字典或哈希图来处理数组的常见元素