Кнопка Excel VBA для другого листа - PullRequest
0 голосов
/ 27 января 2020

спасибо заранее за потенциального ответчика.

У меня есть вопрос с Excel VBA, макрос. Я сделал командную кнопку, которая запускает код, когда я нажимаю кнопку. Он отлично работает, за исключением одной функции.

Dim N As Long, i As Long, Kount As Long
Dim wf As WorksheetFunction

Set wf = Application.WorksheetFunction
N = Cells(1, Columns.Count).End(xlToLeft).Column
For i = N To 1 Step -1
    Kount = wf.CountA(Cells(1, i).EntireColumn)
    If Kount = 1 Or Kount = 0 Then
        Cells(1, i).EntireColumn.Delete
    End If
Next i

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

Я надеюсь, что мой Engli sh понятен и в ожидании вашего доброго ответа.

Большое спасибо. Всегда многому учитесь у stackoverflow.

1 Ответ

0 голосов
/ 27 января 2020

Немного приключений, ваш код относительно синтаксиса функции Worksheet и определения диапазона. Пожалуйста, попробуйте это вместо.

Dim Kount As Long
Dim N As Long
Dim i As Long

N = Cells(1, Columns.Count).End(xlToLeft).Column
For i = N To 1 Step -1
    Kount = WorksheetFunction.CountA(Columns(i))
    If Kount < 2 Then Columns(i).Delete
Next i
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...