Как сделать ссылку code_click на конкретный лист - PullRequest
0 голосов
/ 16 апреля 2019

Как я могу ссылаться на Рабочие листы («Клиенты»), не активируя рабочий лист в приведенном ниже коде?

Application.ScreenUpdating не выполняет эту работу, поскольку мерцание по-прежнему вызывает раздражение.

Код работает нормально, когда я раскомментирую «Рабочие листы» («Клиенты»). Активируйте

Я хочу выполнить все шаги, когда рабочие таблицы («Панель инструментов») открыты.

Я пробовал "С ... Конец С", но безуспешно. Также ссылаюсь на Рабочие листы ("Клиенты"). Ячейки ..... и т. Д. Не работают. Это как код пропускается через код и идет прямо к «

 If SearchRow = 2 Then
    MsgBox "Customer Not Found", vbExclamation
    Exit Sub
End If
"

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

Просто хочу упомянуть, что я использую этот код с пользовательскими формами и нажимаю кнопки.

Любая помощь будет оценена.

Private Sub srCus_Click()

Application.ScreenUpdating = False
Dim RowNum As Long
Dim SearchRow As Long

RowNum = 2
SearchRow = 2

Worksheets("SearchCus").Range("A2:I100").ClearContents

'Worksheets("Customers").Activate

Do Until Worksheets("Customers").Cells(RowNum, 1).Value = ""
    If InStr(1, Cells(RowNum, 3).Value, CusDB.Value, vbTextCompare) > 0 Then
        Worksheets("SearchCus").Cells(SearchRow, 1).Value = Cells(RowNum, 1).Value
        Worksheets("SearchCus").Cells(SearchRow, 2).Value = Cells(RowNum, 2).Value
        Worksheets("SearchCus").Cells(SearchRow, 3).Value = Cells(RowNum, 3).Value
        Worksheets("SearchCus").Cells(SearchRow, 4).Value = Cells(RowNum, 4).Value
        Worksheets("SearchCus").Cells(SearchRow, 5).Value = Cells(RowNum, 5).Value
        Worksheets("SearchCus").Cells(SearchRow, 6).Value = Cells(RowNum, 6).Value
        Worksheets("SearchCus").Cells(SearchRow, 7).Value = Cells(RowNum, 7).Value
        Worksheets("SearchCus").Cells(SearchRow, 8).Value = Cells(RowNum, 8).Value
        Worksheets("SearchCus").Cells(SearchRow, 9).Value = Cells(RowNum, 9).Value
        SearchRow = SearchRow + 1
    End If
    RowNum = RowNum + 1
Loop

If SearchRow = 2 Then
    MsgBox "Customer Not Found", vbExclamation
    Exit Sub
End If
ResultsDB.RowSource = "SearchResults"

'ThisWorkbook.Worksheets("Dashboard").Activate

Application.ScreenUpdating = True

End Sub

1 Ответ

0 голосов
/ 16 апреля 2019

Спасибо, SJR, вы были правы в отношении всех этих ячеек (RowNum, 1), я всегда пропускал один с линией InStr.Спасибо за помощь и все предложения.Пересмотренный код ниже.

Private Sub srCus_Click()

Application.ScreenUpdating = False
Dim RowNum As Long
Dim SearchRow As Long

RowNum = 2
SearchRow = 2

Worksheets("SearchCus").Range("A2:I100").ClearContents

'Worksheets("Customers").Activate

Do Until Worksheets("Customers").Cells(RowNum, 1).Value = ""
    If InStr(1, Worksheets("Customers").Cells(RowNum, 3).Value, CusDB.Value, vbTextCompare) > 0 Then
        Worksheets("SearchCus").Cells(SearchRow, 1).Value = Worksheets("Customers").Cells(RowNum, 1).Value
        Worksheets("SearchCus").Cells(SearchRow, 2).Value = Worksheets("Customers").Cells(RowNum, 2).Value
        Worksheets("SearchCus").Cells(SearchRow, 3).Value = Worksheets("Customers").Cells(RowNum, 3).Value
        Worksheets("SearchCus").Cells(SearchRow, 4).Value = Worksheets("Customers").Cells(RowNum, 4).Value
        Worksheets("SearchCus").Cells(SearchRow, 5).Value = Worksheets("Customers").Cells(RowNum, 5).Value
        Worksheets("SearchCus").Cells(SearchRow, 6).Value = Worksheets("Customers").Cells(RowNum, 6).Value
        Worksheets("SearchCus").Cells(SearchRow, 7).Value = Worksheets("Customers").Cells(RowNum, 7).Value
        Worksheets("SearchCus").Cells(SearchRow, 8).Value = Worksheets("Customers").Cells(RowNum, 8).Value
        Worksheets("SearchCus").Cells(SearchRow, 9).Value = Worksheets("Customers").Cells(RowNum, 9).Value
        SearchRow = SearchRow + 1
    End If
    RowNum = RowNum + 1
Loop

If SearchRow = 2 Then
    MsgBox "Customer Not Found", vbExclamation
    Exit Sub
End If
ResultsDB.RowSource = "SearchResults"

'ThisWorkbook.Worksheets("Dashboard").Activate

Application.ScreenUpdating = True

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...