Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
i have a code which adds sheet names to combo box
Dim ctrl As CommandBarControl Dim wks Set ctrl = Application.CommandBars("myNavigator") _ .FindControl(Tag:="__wksnames__") ctrl.Clear For Each wks In ActiveWorkbook.Sheets 'If wks.Visible = xlSheetVisible Then ctrl.AddItem wks.Name 'End If Next wks End Sub i need a code which deletes the selected sheet from combo box... the following code is throwing me an error ......... Set ctrl = .Controls.Add(Type:=msoControlButton, temporary:=True) With ctrl .Style = msoButtonCaption .Caption = "Delete Sheets" .OnAction = "'" & ThisWorkbook.Name & "'!DeleteSheets" End With End With Sub DeleteSheets() Dim myWksName As String Dim wks With Application.CommandBars.ActionControl If .ListIndex = 0 Then MsgBox "Please select an existing sheet" Exit Sub Else .Delete .List(.ListIndex) End If End With Set wks = Nothing On Error Resume Next On Error GoTo 0 If wks Is Nothing Then Call RefreshTheSheets MsgBox "Please try again" Else wks.Select End If End Sub |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
With the snippets of code you posted it's difficult to know what you have
and what you want to do. Your Button is assigned to 'DeleteSheets' in which you have With Application.CommandBars.ActionControl If .ListIndex = 0 Then So is that a button or a combo Guessing at what you have, and I could be completely wrong, you've got a button and a combo, the combo holds a list of sheet names, user presses the button to delete the sheet selected in the combo. Maybe you want something like Sub DeleteSheets() Dim myWksName As String Set ctrl = Application.CommandBars("myNavigator") _ .FindControl(Tag:="__wksnames__") ' the combo ' If ctrl.ListIndex = 0 Then ' MsgBox "Please select an existing sheet" ' Exit Sub ' end if with ctrl ' first get confirmation from user ' error handling etc Application.DisplayAlerts = False myWksName = .Text Worksheets(myWksName).Delete Application.DisplayAlerts = True .RemoveItem (.ListIndex) End With Regards, Peter T "vicky" wrote in message ... i have a code which adds sheet names to combo box Dim ctrl As CommandBarControl Dim wks Set ctrl = Application.CommandBars("myNavigator") _ .FindControl(Tag:="__wksnames__") ctrl.Clear For Each wks In ActiveWorkbook.Sheets 'If wks.Visible = xlSheetVisible Then ctrl.AddItem wks.Name 'End If Next wks End Sub i need a code which deletes the selected sheet from combo box... the following code is throwing me an error ......... Set ctrl = .Controls.Add(Type:=msoControlButton, temporary:=True) With ctrl .Style = msoButtonCaption .Caption = "Delete Sheets" .OnAction = "'" & ThisWorkbook.Name & "'!DeleteSheets" End With End With Sub DeleteSheets() Dim myWksName As String Dim wks With Application.CommandBars.ActionControl If .ListIndex = 0 Then MsgBox "Please select an existing sheet" Exit Sub Else .Delete .List(.ListIndex) End If End With Set wks = Nothing On Error Resume Next On Error GoTo 0 If wks Is Nothing Then Call RefreshTheSheets MsgBox "Please try again" Else wks.Select End If End Sub |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Untested...
Sub DeleteSheets() Dim myWksName As String Dim wks With Application.CommandBars.ActionControl If .ListIndex = 0 Then MsgBox "Please select an existing sheet" Exit Sub Else application.enableevents = false 'no warning message on error resume next activeworkbook.worksheets(.List(.ListIndex)).delet e if err.number < 0 then err.clear msgbox "delete failed" end if application.enableevents = true End With 'do clean up the list yourself--let this sub do the work Call RefreshTheSheets End Sub vicky wrote: i have a code which adds sheet names to combo box Dim ctrl As CommandBarControl Dim wks Set ctrl = Application.CommandBars("myNavigator") _ .FindControl(Tag:="__wksnames__") ctrl.Clear For Each wks In ActiveWorkbook.Sheets 'If wks.Visible = xlSheetVisible Then ctrl.AddItem wks.Name 'End If Next wks End Sub i need a code which deletes the selected sheet from combo box... the following code is throwing me an error ......... Set ctrl = .Controls.Add(Type:=msoControlButton, temporary:=True) With ctrl .Style = msoButtonCaption .Caption = "Delete Sheets" .OnAction = "'" & ThisWorkbook.Name & "'!DeleteSheets" End With End With Sub DeleteSheets() Dim myWksName As String Dim wks With Application.CommandBars.ActionControl If .ListIndex = 0 Then MsgBox "Please select an existing sheet" Exit Sub Else .Delete .List(.ListIndex) End If End With Set wks = Nothing On Error Resume Next On Error GoTo 0 If wks Is Nothing Then Call RefreshTheSheets MsgBox "Please try again" Else wks.Select End If End Sub -- Dave Peterson |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I think you want to use the RemoveItem method. Here is a snippet from the
VBA help file that might help. Private Sub CommandButton2_Click() 'Ensure ListBox contains list items If ListBox1.ListCount = 1 Then 'If no selection, choose last list item. If ListBox1.ListIndex = -1 Then ListBox1.ListIndex = _ ListBox1.ListCount - 1 End If ListBox1.RemoveItem (ListBox1.ListIndex) End If End Sub "vicky" wrote in message ... i have a code which adds sheet names to combo box Dim ctrl As CommandBarControl Dim wks Set ctrl = Application.CommandBars("myNavigator") _ .FindControl(Tag:="__wksnames__") ctrl.Clear For Each wks In ActiveWorkbook.Sheets 'If wks.Visible = xlSheetVisible Then ctrl.AddItem wks.Name 'End If Next wks End Sub i need a code which deletes the selected sheet from combo box... the following code is throwing me an error ......... Set ctrl = .Controls.Add(Type:=msoControlButton, temporary:=True) With ctrl .Style = msoButtonCaption .Caption = "Delete Sheets" .OnAction = "'" & ThisWorkbook.Name & "'!DeleteSheets" End With End With Sub DeleteSheets() Dim myWksName As String Dim wks With Application.CommandBars.ActionControl If .ListIndex = 0 Then MsgBox "Please select an existing sheet" Exit Sub Else .Delete .List(.ListIndex) End If End With Set wks = Nothing On Error Resume Next On Error GoTo 0 If wks Is Nothing Then Call RefreshTheSheets MsgBox "Please try again" Else wks.Select End If End Sub |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
CommandBarComboBox : AddItem - procedure to attach routine. | Excel Programming | |||
commandbarCombobox problem | Excel Programming | |||
how do i make it so that when a sheat is selected either via link or tab, that xlLastCell is selected. the last on the sheet. | Excel Worksheet Functions | |||
Remove .xls from selected files | Excel Programming | |||
CommandBarComboBox.AddItem - String Length Limit? | Excel Programming |