Мне нужно пропустить пустые ячейки в моей кнопке VBA и открыть, когда не пусто - PullRequest
0 голосов
/ 07 февраля 2019

У меня есть кнопка, которая открывает запрос ссылок всякий раз, когда я нажимаю на нее, однако иногда поле в моем запросе пустое, и мне нужно, чтобы мой код продолжал работать и пропускал пустую ячейку, как я могу решить эту проблему

Я уже попробовал 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

Я не хочу видеть ошибку всякий раз, когда пытаюсь открыть некоторые ссылки

Ответы [ 2 ]

0 голосов
/ 07 февраля 2019

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
0 голосов
/ 07 февраля 2019
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 not Cell.Value = "" Then
    Set objShell = CreateObject("Wscript.Shell")
    objShell.Run (Cell.Value)
End If
Next
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...