-1
嗨,那裏我一直在研究一個代碼來刪除使用組合框的工作表,但我似乎無法運行它。我已經使用deletesheet子來調用用戶表單,以便組合框將顯示,我可以選擇並刪除表單。但是我已經在工作表(一).Delete得到一個類型不匹配錯誤(我已經把供參考的星號,我跑沒有這些程序)使用組合框刪除工作表
Private Sub setUserForm()
With UserForm1
.Height = 50: .Width = 111
.Caption = " Delete Sheets"
With .ComboBox1
.BackColor = RGB(240, 250, 255)
.ControlTipText = "Select Sheet"
.Height = 17: .Width = UserForm1.Width - 15
.Top = 7: .Left = 7: .ListRows = 22
.MatchEntry = fmMatchEntryFirstLetter '0
End With
.Show
End With
End Sub
Sub deletesheet()
Dim a As String 'This is changed
Dim cmb As ComboBox
Dim ws As Worksheet
Set cmb = UserForm1.ComboBox1
cmb.Clear
For Each ws In Worksheets
If ws.Visible Then cmb.AddItem ws.Name
Next
a = UserForm1.ComboBox1.Text 'This is changed
*Worksheets(a).delete*
cmb.ListIndex = 0
setUserForm
End Sub
確切的錯誤是什麼?從目前爲止我可以看到你定義了'Dim a as Integer',然後將其從'UserForm1.ComboBox1.Value'中的值傳遞給它,但是'ComboBox1.Value'是一個不是整數的字符串 – DragonSamu
Dim a As String而不是整數應該解決這個問題 - 我認爲 –
我得到一個下標超出範圍錯誤在工作表(a).delete @ O.Rose – Niva