excel - 我需要跳过我的 vba 按钮中的空单元格并在不为空时打开
问题描述
我有一个按钮,每当我单击它时都会打开一个链接查询,但是有时我的查询中的一个字段是空的,我需要我的代码继续前进并跳过空单元格,我该如何解决这个问题
我已经尝试过 IsEmpty 并且无法达到预期的结果。VBA 世界对我来说是全新的,所以如果您发现任何愚蠢的错误或未优化的方法,请警告我。下面的代码是在我尝试跳过空单元格之前
Private Sub CommandButton1_Click()
Dim SelecRng As Range
Set SelecRng = ("F3:F44")
Each Cell In SelecRng
Set objShell = CreateObject("Wscript.Shell")
objShell.Run (Cell)
Next
End Sub
每当我尝试打开某些链接时,我都不想看到错误
解决方案
Tim Stack 提供了一个很好的答案,但是我建议使用而不是运行检查= vbNullString
,= ""
并使用Cell.value2
而不是Cell.value
。
在这个精确的例子中,这并不重要,但在其他一些情况下它可以;所以最好现在就养成这个习惯。
那将是:
Private Sub CommandButton1_Click()
Dim SelecRng As Range
Set SelecRng = ("F3:F44") 'I would add a reference to the WB and WS here. Now it always refers to the active WB & WS
For Each Cell In SelecRng
If Cell.Value2 <> vbNullString Then
Set objShell = CreateObject("Wscript.Shell")
objShell.Run (Cell.Value2)
End If
Next
End Sub
推荐阅读
- python - 如何序列化 umongo 文档
- javascript - AdWords 计算点击事件 jquery 的转化
- r - 计算自上次观察以来满足条件的行数
- mysql - 多对多到多对多:是否需要中间连接?
- css - 一列多行
- model-view-controller - 在剑道调度程序 MVC 上设置颜色
- python - Python - 检查目录时失败
- sql-server - 如何使用 order by with table 以分层方式对表进行排序
- ios - 在 Swift 4.2 中生成 QR 码和制作 PDF 文件后内存泄漏
- android - 当新的生产应用版本发布到 Play 商店时,是否可以通过电子邮件通知用户?