打开时如何限制excel行
How to limit excel rows when you open it
我想知道是否有办法询问某人项目所需的行数,然后将 excel 限制为它。
示例:我打开 excel 文件,出现提示询问我需要多少行,我输入 10,它继续添加具有 headers 行的列,所以有a table,其中包含键入的行数和打开文件时所在的列数。
我知道你可以在打开Excel文件后限制行数,但我不知道你是否可以这样做。
谢谢
我建议使用 Application.InputBox 而不是常规 InputBox
(或更准确地说 - Interactive.InputBox
),因为 Application.InputBox
允许使用其 [=14 验证输入=] 参数。在您的情况下,Type
参数必须是 1
,因为它会检查数字。您需要检查的另一件事是 return 类型,因为 Application.InputBox
returns Variant
。如果用户按下“取消”,您将获得 Boolean
值,因此您需要检查类型而不是仅依赖 returned 值:
Sub CreateTable()
Dim vRowsCount As Variant
vRowsCount = Application.InputBox("How many rows?", Type:=1)
'// If user cancels, we get Boolean return type
If TypeName(vRowsCount) = "Boolean" Then Exit Sub
'// If we're here, we can safely proceed with table creation
MsgBox "Number of rows: " & vRowsCount
MsgBox TypeName(vRowsCount) '//Double
End Sub
我想知道是否有办法询问某人项目所需的行数,然后将 excel 限制为它。
示例:我打开 excel 文件,出现提示询问我需要多少行,我输入 10,它继续添加具有 headers 行的列,所以有a table,其中包含键入的行数和打开文件时所在的列数。
我知道你可以在打开Excel文件后限制行数,但我不知道你是否可以这样做。
谢谢
我建议使用 Application.InputBox 而不是常规 InputBox
(或更准确地说 - Interactive.InputBox
),因为 Application.InputBox
允许使用其 [=14 验证输入=] 参数。在您的情况下,Type
参数必须是 1
,因为它会检查数字。您需要检查的另一件事是 return 类型,因为 Application.InputBox
returns Variant
。如果用户按下“取消”,您将获得 Boolean
值,因此您需要检查类型而不是仅依赖 returned 值:
Sub CreateTable()
Dim vRowsCount As Variant
vRowsCount = Application.InputBox("How many rows?", Type:=1)
'// If user cancels, we get Boolean return type
If TypeName(vRowsCount) = "Boolean" Then Exit Sub
'// If we're here, we can safely proceed with table creation
MsgBox "Number of rows: " & vRowsCount
MsgBox TypeName(vRowsCount) '//Double
End Sub