excel - 遍历表的列并删除行
问题描述
我正在尝试遍历值字段,如果字段值等于变量名,则删除整行。第一次迭代成功,检测到值时删除该行。但是,下一次迭代不起作用,因为与变量值匹配的行不会被删除。
For y = 0 To Me.inventory_selection.ListCount - 1
If Me.inventory_selection.Selected(y) Then
search_loc = Me.inventory_selection.List(y)
With Worksheets("Records").ListObjects("Inventory")
For i = .ListRows.count To 1 Step -1
If .ListColumns("Location").DataBodyRange(i) = search_loc Then
.ListRows(i).Delete 'Shift:=xlUp
End If
Next i
End With
End If
Next y
我认为这可能与被删除的行有关,并且 i 值没有从它停止的地方开始。请让我知道你的想法,谢谢。
解决方案
我看到你评论了代码Shift:=xlUp
。但据我所知,如果您删除一行,无论是否提及,excel都会将行向上移动Shift:=xlUp
。(如果您不想删除该行并将其他行移到其下方,则可以使用clearcontents
代替。但我不确定这是否是您想要的)delete
推荐阅读
- kubernetes - 从 Kubernetes 集群获取/转发审计事件
- java - 如何在 3rd 方 jar 文件中从 Katalon 工作室的 testObject 获取 xpath
- api - 如何使用 Cypress 测试 API?
- asp.net-mvc - System.InvalidOperationException occurs with EF6 when connecting to AWS database but not when connecting to on-prem database
- python - pygraphviz:使用后继查找最大等级节点
- javascript - html你可以结合2个符号或其他方式来获得相同的效果
- android - 找不到参数 [com.android.support:appcompat-v7:25.0.0] 的方法 compile()
- node.js - Herokuapp - Google Oauth - Hackmd/Codimd
- c# - How to run Finally() when all Observable async items are finished processing?
- vue.js - vuejs, bootstrap table component and fields label