我在我的工作表("Sheet1")
下有一個Command按鈕。如何分配WorkSheet模塊中的宏,並將多個參數分配給用於在受保護的工作表中插入新TableRow的命令按鈕?
我的工作表已被保護,我需要讓用戶添加新行。
婁宏被寫爲做到這一點:(這是一個工作表模塊)
Sub TblNewLine(Sht As String, Tbl As String, Pass as String, Filtering As Boolean, Pivot As Boolean)
if Nor Pass = vbNullString then
Dim strP as String
strP = InputBox ("Please input Password","Password")
if Not strP = Pass Then
if not strP = vbNullString Then MsgBox "Wrong Password!", vbCritical, "Error!"
Exit Sub
End If
End If
Sheets(Sht).Unprotect
Sheets(Sht).ListObjects(Tbl).ListRows.Add
Sheets(Sht).Protect AllowFiltering:=Filtering, AllowUsingPivotTables:=Pivot
End Sub 'TblNewLine
例如:論點是:
sht:= "sheet1", Tbl:="PvtReport", Pass:="", Filtering:=True, Pivot:= True
因此我需要分配此宏準備在表下的命令按鈕。
並按下按鈕傳遞參數。
在分配宏窗體時,我無法在宏名稱組合框中找到上面的宏。
如何將上述宏及其相關參數分配給命令按鈕?
或者是否有更好的解決方案將新行插入到受保護的工作表中?
在Sub之前刪除'Private'關鍵字。有關詳細信息,請參閱[this](https://superuser.com/questions/309524/how-do-i-use-a-private-sub-in-excel)。 – Mrig
已刪除,但尚未在分配宏中顯示。當我在Assign宏的宏名字段中寫入我的子程序名時,它的名字被調用。但是我的子程序中存在傳遞參數的問題。 – mgae2m