隐藏具有输入框整数起始范围的行

时间:2015-12-02 00:49:59

标签: excel vba excel-vba

我想要做的是有一个命令按钮,当按下时,会弹出一个输入框,询问“请输入项目数(限制5000)”,然后运行一个VBA代码,隐藏Inputbox.value +之间的所有行3(标题行数)到行5003(表格的末尾)。

我找到了以下代码,可让我使用切换按钮隐藏列

Private Sub ToggleButton1_Click()
     Dim xAddress As String
         xAddress = "BV:CQ"
    If ToggleButton1.Value Then

    Application.ActiveSheet.Columns(xAddress).Hidden = True
    Else
    Application.ActiveSheet.Columns(xAddress).Hidden = False
    End If
End Sub

我不确定如何创建输入框,然后调整该数字以考虑标题,然后使用上面的代码将其设置为范围的起始行(在代码中更改行的列)。

1 个答案:

答案 0 :(得分:0)

以下示例适用于输入框

N = Application.InputBox("Input a number", Type:=1)
'Type:=0 A formula
'Type:=1 A number
'Type:=2 Text (a string)
'Type:=4 A logical value (True or False)
'Type:=8 A cell reference, as a Range object
'Type:=16 An error value, such as #N/A
'Type:=64 An array of values

但是想想你可以创建一个逻辑自动检测记录的长度

使用以下功能,

如果A栏什么都没有,

nLastRow将是3。

nLastRow = getLastRow(Sheets(1).Range("A:A"), 3)

Function getLastRow(ByVal inputRng As Range, ByVal headerRow As Single) As Single
Dim nRow As Single
    nRow = 0
    On Error Resume Next
    nRow = inputRng.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row

    If nRow = 0 Or nRow <= headerRow Then
        nRow = headerRow
    End If
    getLastRow = nRow
End Function

希望这有帮助!