VBA 代码提示用户 he/she 需要 Excel 文件中的行数,然后仅显示这些行数
A VBA code that prompts the user how many rows he/she wants in an Excel file, then showing only such quantity of rows
有没有办法询问用户 Excel 文件中 he/she 需要多少行?然后根据这些信息,工作表将只显示所需的行数并隐藏所有其他单元格,以避免用户编辑此类单元格。
举个例子:它提示我要多少行,我输入3行,excel工作表只会显示这3行,其余的会自动隐藏。
感谢您的帮助。
我从来没有提到这是不可能的,我只是说这会违反直觉。
试试这个,让我知道它是否有效。
Public Sub HideRows()
Dim RowsToKeep As Long
RowsToKeep = CLng(InputBox("How many rows should I keep?") + 1)
With ActiveSheet
.Cells.EntireRow.Hidden = False
.Rows(RowsToKeep & ":" & .Rows.Count).EntireRow.Hidden = True
End With
End Sub
编辑:已更新答案以反映对评论的回复
- 您必须将此代码保留在模块中。
- 单击“插入”>“模块”。
- 将代码粘贴到此处。
- 在 ThisWorkbook 模块中,顶部有 2 个下拉菜单。
- Select 第一个下拉列表和 select 工作簿。
- 第二个下拉菜单会自动,
- select“打开”,它将自动生成 Workbook_open.
的代码
- 只需添加不带引号的 'Call HideRows'
有没有办法询问用户 Excel 文件中 he/she 需要多少行?然后根据这些信息,工作表将只显示所需的行数并隐藏所有其他单元格,以避免用户编辑此类单元格。
举个例子:它提示我要多少行,我输入3行,excel工作表只会显示这3行,其余的会自动隐藏。
感谢您的帮助。
我从来没有提到这是不可能的,我只是说这会违反直觉。 试试这个,让我知道它是否有效。
Public Sub HideRows()
Dim RowsToKeep As Long
RowsToKeep = CLng(InputBox("How many rows should I keep?") + 1)
With ActiveSheet
.Cells.EntireRow.Hidden = False
.Rows(RowsToKeep & ":" & .Rows.Count).EntireRow.Hidden = True
End With
End Sub
编辑:已更新答案以反映对评论的回复
- 您必须将此代码保留在模块中。
- 单击“插入”>“模块”。
- 将代码粘贴到此处。
- 在 ThisWorkbook 模块中,顶部有 2 个下拉菜单。
- Select 第一个下拉列表和 select 工作簿。
- 第二个下拉菜单会自动,
- select“打开”,它将自动生成 Workbook_open. 的代码
- 只需添加不带引号的 'Call HideRows'