VBA - Назначение макроса кнопке управления формой

477
Lenny

Я написал приведенный ниже код в VBA для удаления полных строк, если в столбце U Sheet21 (на самом деле называется «Регистрация ROG»), если появляются «Self Cancelled» или «Waitlisted». Когда я нахожусь на вкладке Регистрация ROG с открытым окном VBA и запускаю это, оно работает отлично.

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

Есть идеи почему? Может быть, мне нужно использовать имя «Регистрация ROG» в коде? ".Выберите" вкладку сначала, так как она находится на вкладке, отличной от кнопки?

Sub ROG_DeleteRows()  Dim r As Integer For r = Sheet21.UsedRange.Rows.Count To 1 Step -1 If Cells(r, "U") = "Self Cancelled" Then Sheet21.Rows(r).EntireRow.Delete ElseIf Cells(r, "U") = "Waitlisted" Then Sheet21.Rows(r).EntireRow.Delete End If Next  End Sub 
0
Вы должны указывать лист каждый раз: `If Sheet21.Cells (r," U ") = ...` В противном случае по умолчанию используется активный лист (т.е. тот, что с кнопками) cybernetic.nomad 6 лет назад 0
@ cybernetic.nomad это работало отлично. Спасибо!!! Я думал, что это может быть проблемой, но не был уверен, где редактировать (я довольно плохо знаком с VBA). Lenny 6 лет назад 0
@Lenny ,, вы должны написать это ** If Sheet21.Cells (r, "U") = "Self Cancelled" Тогда ** вместо ** If Cells (r, "U") = "Self Cancelled" Then ** , Rajesh S 6 лет назад 0

0 ответов на вопрос

Похожие вопросы