-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