用于另一个工作表的Excel VBA命令按钮

时间:2020-01-27 11:57:36

标签: excel

提前感谢潜在的答疑人。

我对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

这是我要使用的功能,可能由于定义了一些变量而无法在命令按钮上使用。当我通过“宏”面板运行此代码时,它可以正常运行,但是当我将其复制并粘贴到命令按钮的代码中时,它不起作用。

我希望我的英语能够理解,并等待您的友好回答。

非常感谢 始终从stackoverflow中学到很多东西。

1 个答案:

答案 0 :(得分:0)

您的代码有点冒险,关于Worksheetfunction的语法和范围定义。请改用此方法。

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