为什么在vba中使用Application.InputBox无法选择单元格区域?

Application.InputBox 方法可以弹出选择对话框,选择单元格区域。

但是如果在vba代码中设置了Excel.Application.ScreenUpdating = False 则会导致无法选择单元格区域。

如果要设置Excel.Application.ScreenUpdating = False,需要在Application.InputBox 语句之后设置。

以下是无法选择单元格区域的代码:

Sub QQ1722187970()
    Dim oRng As Range
    Excel.Application.ScreenUpdating = False
    Set oRng = Application.InputBox("请选择要拆分的字段名", "拆分", , , , , , 8)
    If oRng.Columns.Count > 1 Then
        MsgBox "您未选择或者您选择的拆分字段有误,请重新选择"
    Else
    End If
    Excel.Application.ScreenUpdating = True
End Sub

以下是正确的选择单元格区域的代码:

Sub QQ1722187970()
    Dim oRng As Range
    Set oRng = Application.InputBox("请选择要拆分的字段名", "拆分", , , , , , 8)
    Excel.Application.ScreenUpdating = False
    If oRng.Columns.Count > 1 Then
        MsgBox "您未选择或者您选择的拆分字段有误,请重新选择"
    Else
    End If
    Excel.Application.ScreenUpdating = True
End Sub
       

发表评论