- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试创建一个宏,它将找到包含特定值(例如:位置)的每个单元格,然后删除该单元格的整行。将有多个包含该值的单元格,我希望将它们全部删除,因此我创建了一个循环,但是由于我的操作方式,它在最后一个单元格之后中断并且它不会继续进行最后一位的宏。我找不到其他方法,所以我希望有人会比我更聪明,并且可以帮助我解决这个问题。代码现在看起来像这样:
Do
If Cells.Find(What:="Location").Activate Then
ActiveCell.EntireRow.Select
Selection.Delete
Else MsgBox ("All headers deleted")
End If
Loop
最佳答案
你其实很接近。以下是如何使其工作,并进行一些小的“不必要但仍然很好”的改进:
Sub test()
Dim rng As Range
Do
Set rng = Cells.Find(What:="b")
If Not rng Is Nothing Then
rng.EntireRow.Delete
Else
MsgBox ("All headers deleted")
Exit Do
End If
Loop
End Sub
Range
的原因对象并在我们输入
If
之前声明它循环主要是为了可读性,但也因此我们不尝试使用
.Find
几次。这不太可能产生重大影响 - 编译器可能会自行修复此问题。无论如何,在代码中明确说明它并没有什么坏处。
.Activate
一个空的范围。不允许此操作。一种解决方案,即我在这里所采用的解决方案,是在尝试调用其任何成员之前检查范围对象是否有效。如果对象无效,循环将完全跳过它,我们不会收到任何错误。它的工作方式是,
Range.Find返回
Nothing
(这是一个有效的对象状态)如果它没有找到任何东西。你会在我的代码中看到我告诉编译器只有在
rng
时才进入循环。不包含
Nothing
.
.Select
调用,因为它是
not good practice .最佳实践是显式声明所有变量并直接在范围上工作。生成的代码也更短且更易于阅读。
Exit Do
在您的
Else
条款。这是非常必要的,因为您没有在
Do ... Loop
中添加任何中断条件。 .没有
Exit Do
某处,程序会折腾
MsgBox
在你永远。
Exit Do
移动。到更强大的
Do ... Loop
with conditions - 它可能看起来像这样:
Sub test()
Dim rng As Range
Do
Set rng = Cells.Find(What:="b")
If Not rng Is Nothing Then
rng.EntireRow.Delete
Else
MsgBox ("All headers deleted")
End If
Loop While (Not rng Is Nothing)
End Sub
关于excel - 如何使用查找功能激活找到的单元格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47348664/
例如,我有一个父类Author: class Author { String name static hasMany = [ fiction: Book,
代码如下: dojo.query(subNav.navClass).forEach(function(node, index, arr){ if(dojo.style(node, 'd
我有一个带有 Id 和姓名的学生表和一个带有 Id 和 friend Id 的 Friends 表。我想加入这两个表并找到学生的 friend 。 例如,Ashley 的 friend 是 Saman
我通过互联网浏览,但仍未找到问题的答案。应该很容易: class Parent { String name Child child } 当我有一个 child 对象时,如何获得它的 paren
我正在尝试创建一个以 Firebase 作为我的后端的社交应用。现在我正面临如何(在哪里?)找到 friend 功能的问题。 我有每个用户的邮件地址。 我可以访问用户的电话也预订。 在传统的后端中,我
我主要想澄清以下几点: 1。有人告诉我,在 iOS 5 及以下版本中,如果您使用 Game Center 设置多人游戏,则“查找 Facebook 好友”(如与好友争夺战)的功能不是内置的,因此您需要
关于redis docker镜像ENTRYPOINT脚本 docker-entrypoint.sh : #!/bin/sh set -e # first arg is `-f` or `--some-
我是一名优秀的程序员,十分优秀!