I have a function that generates data for say 100 rows (and 2 columns). For each row (in the 3rd column) I need to add a button which, when clicked, brings up a custom modal dialog box giving the user 4 options/buttons to choose from.
Any idea how to do this?
Go to the Developer tab and click Insert under the Control section. Click the Insert button in the drop-down list that opens. Position your cursor in the worksheet location where you want the button to be created. A pop-up window will appear.
Click the worksheet location where you want the upper-left corner of the button to appear. The Assign Macro popup window appears. Note: If you have already inserted a button, you can right-click on it, and select Assign Macro. Assign a macro to the button and click OK.
I think this is enough to get you on a nice path:
Sub a() Dim btn As Button Application.ScreenUpdating = False ActiveSheet.Buttons.Delete Dim t As Range For i = 2 To 6 Step 2 Set t = ActiveSheet.Range(Cells(i, 3), Cells(i, 3)) Set btn = ActiveSheet.Buttons.Add(t.Left, t.Top, t.Width, t.Height) With btn .OnAction = "btnS" .Caption = "Btn " & i .Name = "Btn" & i End With Next i Application.ScreenUpdating = True End Sub Sub btnS() MsgBox Application.Caller End Sub
It creates the buttons and binds them to butnS(). In the btnS() sub, you should show your dialog, etc.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With