Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Brad Sumner
 
Posts: n/a
Default Creating Custom Dialog Boxex (Popup)

Hello,
I am trying to create a custom dialog box that will allow me to have the
user clarify an entry when a checkbox is checked. I want them to be able to
select something from a list that I have created. I have created the popup
in Excel but cannot find out how to call the popup into the display when the
checkbox is checked. Can anyone help me please?
  #2   Report Post  
Dave Peterson
 
Posts: n/a
Default

Is this a checkbox on the worksheet?

If yes, then if it's a checkbox from the Forms toolbar, assign this macro to the
checkbox:

Option Explicit
Sub testme()

Dim myCBX As CheckBox
Set myCBX = ActiveSheet.CheckBoxes(Application.Caller)

If myCBX.Value = xlOn Then
UserForm1.Show
End If

End Sub

If it's a checkbox from the control toolbox toolbar, then double click on that
checkbox (while in design mode) and use this kind of code:

Option Explicit
Private Sub CheckBox1_Click()
If Me.CheckBox1.Value = True Then
UserForm1.Show
End If
End Sub



Brad Sumner wrote:

Hello,
I am trying to create a custom dialog box that will allow me to have the
user clarify an entry when a checkbox is checked. I want them to be able to
select something from a list that I have created. I have created the popup
in Excel but cannot find out how to call the popup into the display when the
checkbox is checked. Can anyone help me please?


--

Dave Peterson
  #3   Report Post  
Brad Sumner
 
Posts: n/a
Default

The check box is a VB Control from the Control Toolbox. The name of the
popup is "Popup" it is a MS Excel 5.0 Dialog form. If you could help me in
explaining the code you put in some of it I understand from programming VB
but other parts of it I am not sure why it is there and all.

"Dave Peterson" wrote:

Is this a checkbox on the worksheet?

If yes, then if it's a checkbox from the Forms toolbar, assign this macro to the
checkbox:

Option Explicit
Sub testme()

Dim myCBX As CheckBox
Set myCBX = ActiveSheet.CheckBoxes(Application.Caller)

If myCBX.Value = xlOn Then
UserForm1.Show
End If

End Sub

If it's a checkbox from the control toolbox toolbar, then double click on that
checkbox (while in design mode) and use this kind of code:

Option Explicit
Private Sub CheckBox1_Click()
If Me.CheckBox1.Value = True Then
UserForm1.Show
End If
End Sub



Brad Sumner wrote:

Hello,
I am trying to create a custom dialog box that will allow me to have the
user clarify an entry when a checkbox is checked. I want them to be able to
select something from a list that I have created. I have created the popup
in Excel but cannot find out how to call the popup into the display when the
checkbox is checked. Can anyone help me please?


--

Dave Peterson

  #4   Report Post  
Dave Peterson
 
Posts: n/a
Default

Option Explicit
Private Sub CheckBox1_Click()
If Me.CheckBox1.Value = True Then
ThisWorkbook.DialogSheets("popup").Show
End If
End Sub

The checkbox control from the control toolbox toolbar has events that can be
captured. By double clicking on that checkbox, you get to the VBE and the code
window behind that worksheet.

And you get the _click event (by default).

The me. refers to the worksheet holding the checkbox.

It checks to see if the checkbox is checked. If it is, it displays the popup
dialog.



Brad Sumner wrote:

The check box is a VB Control from the Control Toolbox. The name of the
popup is "Popup" it is a MS Excel 5.0 Dialog form. If you could help me in
explaining the code you put in some of it I understand from programming VB
but other parts of it I am not sure why it is there and all.

"Dave Peterson" wrote:

Is this a checkbox on the worksheet?

If yes, then if it's a checkbox from the Forms toolbar, assign this macro to the
checkbox:

Option Explicit
Sub testme()

Dim myCBX As CheckBox
Set myCBX = ActiveSheet.CheckBoxes(Application.Caller)

If myCBX.Value = xlOn Then
UserForm1.Show
End If

End Sub

If it's a checkbox from the control toolbox toolbar, then double click on that
checkbox (while in design mode) and use this kind of code:

Option Explicit
Private Sub CheckBox1_Click()
If Me.CheckBox1.Value = True Then
UserForm1.Show
End If
End Sub



Brad Sumner wrote:

Hello,
I am trying to create a custom dialog box that will allow me to have the
user clarify an entry when a checkbox is checked. I want them to be able to
select something from a list that I have created. I have created the popup
in Excel but cannot find out how to call the popup into the display when the
checkbox is checked. Can anyone help me please?


--

Dave Peterson


--

Dave Peterson
  #5   Report Post  
Brad Sumner
 
Posts: n/a
Default

Thanks for your help so far, I would ask for a little more help with
recovering the data from the popup. The popup has a listbox and the Ok and
Cancel buttons, the listbox is populated with data from a worksheet.

when I have clicked on the listbox, the field where you can name cell ranges
shows the name List Box 5. I tried to use the in the VB code and it gave
errors. I am not sure how to recover the selected item from the list.


  #6   Report Post  
Dave Peterson
 
Posts: n/a
Default

I think if you post the code, it would help.



Brad Sumner wrote:

Thanks for your help so far, I would ask for a little more help with
recovering the data from the popup. The popup has a listbox and the Ok and
Cancel buttons, the listbox is populated with data from a worksheet.

when I have clicked on the listbox, the field where you can name cell ranges
shows the name List Box 5. I tried to use the in the VB code and it gave
errors. I am not sure how to recover the selected item from the list.


--

Dave Peterson
  #7   Report Post  
Brad Sumner
 
Posts: n/a
Default

This is the code for the 5 check boxes that can bring up the popup

Private Sub chkW1TwoWeap_Click()
Weapon = 1
If Me.chkW1TwoWeap.Value = True Then
ThisWorkbook.DialogSheets("popup").Show
End If
End Sub

Private Sub chkW2TwoWeap_Click()
Weapon = 2
If Me.chkW2TwoWeap.Value = True Then
ThisWorkbook.DialogSheets("popup").Show
End If
End Sub

Private Sub chkW3TwoWeap_Click()
Weapon = 3
If Me.chkW3TwoWeap.Value = True Then
ThisWorkbook.DialogSheets("popup").Show
End If
End Sub

Private Sub chkW4TwoWeap_Click()
Weapon = 4
If Me.chkW4TwoWeap.Value = True Then
ThisWorkbook.DialogSheets("popup").Show
End If
End Sub

Private Sub chkW5TwoWeap_Click()
Weapon = 5
If Me.chkW5TwoWeap.Value = True Then
ThisWorkbook.DialogSheets("popup").Show
End If
End Sub

This is the code I tried in the popup coding to return the value of what was
chosen

Sub dialog1_unload()
Select Case Weapon
Case 1
Range("'Weapons and Armor'!$D$18").Select
ActiveCell.Value = popup.Listbox5.Value
Case 2
Range("'Weapons and Armor'!$G$18").Select
ActiveCell.Value = popup.Listbox5.Value
Case 3
Range("'Weapons and Armor'!$J$18").Select
ActiveCell.Value = popup.Listbox5.Value
Case 4
Range("'Weapons and Armor'!$M$18").Select
ActiveCell.Value = popup.Listbox5.Value
Case 5
Range("'Weapons and Armor'!$P$18").Select
ActiveCell.Value = popup.Listbox5.Value
End Select
End Sub

  #8   Report Post  
Dave Peterson
 
Posts: n/a
Default

I put this in a general module:

Option Explicit
Public weapon As Long

Sub dialog1_unload()

Dim myPopup As DialogSheet
Dim myString As String

Set myPopup = ThisWorkbook.DialogSheets("Popup")

If myPopup.ListBoxes("listbox5").Value < 1 Then
MsgBox "None selected!"
Exit Sub
End If

With myPopup.ListBoxes("listbox5")
myString = .List(.ListIndex)
End With

With Worksheets("Weapons and Armor")
Select Case weapon
Case 1
.Range("$D$18").Value = myString
Case 2
.Range("$G$18").Value = myString
Case 3
.Range("$J$18").Value = myString
Case 4
.Range("$M$18").Value = myString
Case 5
.Range("$P$18").Value = myString
End Select
End With

End Sub

(And kept your code under the sheet with the checkboxes.)

The listbox from the Forms toolbar (like the one you used on the Dialog sheet
doesn't return the value of the selected item. It returns an index into that
list. So myString looks at that item in the list.



Brad Sumner wrote:

This is the code for the 5 check boxes that can bring up the popup

Private Sub chkW1TwoWeap_Click()
Weapon = 1
If Me.chkW1TwoWeap.Value = True Then
ThisWorkbook.DialogSheets("popup").Show
End If
End Sub

Private Sub chkW2TwoWeap_Click()
Weapon = 2
If Me.chkW2TwoWeap.Value = True Then
ThisWorkbook.DialogSheets("popup").Show
End If
End Sub

Private Sub chkW3TwoWeap_Click()
Weapon = 3
If Me.chkW3TwoWeap.Value = True Then
ThisWorkbook.DialogSheets("popup").Show
End If
End Sub

Private Sub chkW4TwoWeap_Click()
Weapon = 4
If Me.chkW4TwoWeap.Value = True Then
ThisWorkbook.DialogSheets("popup").Show
End If
End Sub

Private Sub chkW5TwoWeap_Click()
Weapon = 5
If Me.chkW5TwoWeap.Value = True Then
ThisWorkbook.DialogSheets("popup").Show
End If
End Sub

This is the code I tried in the popup coding to return the value of what was
chosen

Sub dialog1_unload()
Select Case Weapon
Case 1
Range("'Weapons and Armor'!$D$18").Select
ActiveCell.Value = popup.Listbox5.Value
Case 2
Range("'Weapons and Armor'!$G$18").Select
ActiveCell.Value = popup.Listbox5.Value
Case 3
Range("'Weapons and Armor'!$J$18").Select
ActiveCell.Value = popup.Listbox5.Value
Case 4
Range("'Weapons and Armor'!$M$18").Select
ActiveCell.Value = popup.Listbox5.Value
Case 5
Range("'Weapons and Armor'!$P$18").Select
ActiveCell.Value = popup.Listbox5.Value
End Select
End Sub


--

Dave Peterson
  #9   Report Post  
Brad Sumner
 
Posts: n/a
Default

I had to put this project on the back burner for a bit but am now bat at it.
I used your code and recieved an error
"Unable to get the Listboxes property of the DialogSheet class"
To be honest I am not sure what that means. I am used to being able to name
every control and capture their events but the popup doesn't seem to do this
and it is confusing me a bit (and the help files are not very forthcomming
with info on it either)

"Dave Peterson" wrote:

I put this in a general module:

Option Explicit
Public weapon As Long

Sub dialog1_unload()

Dim myPopup As DialogSheet
Dim myString As String

Set myPopup = ThisWorkbook.DialogSheets("Popup")

If myPopup.ListBoxes("listbox5").Value < 1 Then
MsgBox "None selected!"
Exit Sub
End If

With myPopup.ListBoxes("listbox5")
myString = .List(.ListIndex)
End With

With Worksheets("Weapons and Armor")
Select Case weapon
Case 1
.Range("$D$18").Value = myString
Case 2
.Range("$G$18").Value = myString
Case 3
.Range("$J$18").Value = myString
Case 4
.Range("$M$18").Value = myString
Case 5
.Range("$P$18").Value = myString
End Select
End With

End Sub

  #10   Report Post  
Dave Peterson
 
Posts: n/a
Default

Are you sure it's a listbox?

Are you sure you've got the correct dialogsheet?

(My only guesses...)

Brad Sumner wrote:

I had to put this project on the back burner for a bit but am now bat at it.
I used your code and recieved an error
"Unable to get the Listboxes property of the DialogSheet class"
To be honest I am not sure what that means. I am used to being able to name
every control and capture their events but the popup doesn't seem to do this
and it is confusing me a bit (and the help files are not very forthcomming
with info on it either)

"Dave Peterson" wrote:

I put this in a general module:

Option Explicit
Public weapon As Long

Sub dialog1_unload()

Dim myPopup As DialogSheet
Dim myString As String

Set myPopup = ThisWorkbook.DialogSheets("Popup")

If myPopup.ListBoxes("listbox5").Value < 1 Then
MsgBox "None selected!"
Exit Sub
End If

With myPopup.ListBoxes("listbox5")
myString = .List(.ListIndex)
End With

With Worksheets("Weapons and Armor")
Select Case weapon
Case 1
.Range("$D$18").Value = myString
Case 2
.Range("$G$18").Value = myString
Case 3
.Range("$J$18").Value = myString
Case 4
.Range("$M$18").Value = myString
Case 5
.Range("$P$18").Value = myString
End Select
End With

End Sub


--

Dave Peterson
Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Creating custom list with a comma in it barnabel Excel Discussion (Misc queries) 6 January 10th 06 06:14 AM
Creating custom chart legen pallettes/styles symbols ChartDummy Charts and Charting in Excel 3 March 19th 05 03:20 AM
Creating an custom input box [email protected] Excel Worksheet Functions 1 March 17th 05 03:45 AM
Creating custom colours in Excel 2002 Fletch Excel Discussion (Misc queries) 2 March 1st 05 05:55 PM


All times are GMT +1. The time now is 03:23 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"