Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I have posted this before and I am still having problems. I have researched
myself and cannot come up with anything. I have a macro that will create 26 commandbuttons on the active sheet. I get one button created with caption "CommandButton4". I also get Run-time Error 424: Object required. I cannot figure it out. The "Activesheet" line matches everything I have researched. Any help is greatly appreciated!!! Private Sub CommandButton2_Click() Dim h, w, t, l As Long 'h=height, w=width, t=top, l=left Dim k As Integer h = 21 w = 91.5 l = 50 t = 92 For k = 1 To 26 ActiveSheet.OLEObjects.Add(ClassType:="Forms.Comma ndButton.1", Left:=l, Top:=t, Width:=w, Height:=h).Select OLEObject.Caption = "Button " & k OLEObject.Name = "Week " & k t = t + 38 If k = 7 Or k = 14 Or k = 20 Then l = l + 145 t = 92 End If Next k End Sub The code is suppose to create 26 buttons equal in size and space them, aligning then equally apart vertically and horizontally. Much appreciation for anyone helping with this!!!! Les |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Option Explicit
Private Sub CommandButton2_Click() Dim h As Double Dim w As Double Dim t As Double Dim l As Long 'h=height, w=width, t=top, l=left Dim k As Long Dim OLEObj As OLEObject h = 21 w = 91.5 l = 50 t = 92 For k = 1 To 26 Set OLEObj = ActiveSheet.OLEObjects.Add _ (ClassType:="Forms.CommandButton.1", _ Left:=l, Top:=t, Width:=w, Height:=h) OLEObj.Object.Caption = "Button " & k OLEObj.Name = "Week " & k t = t + 38 If k = 7 Or k = 14 Or k = 20 Then l = l + 145 t = 92 End If Next k End Sub Personally, I find plopping the buttons over cells a little easier to layout. WLMPilot wrote: I have posted this before and I am still having problems. I have researched myself and cannot come up with anything. I have a macro that will create 26 commandbuttons on the active sheet. I get one button created with caption "CommandButton4". I also get Run-time Error 424: Object required. I cannot figure it out. The "Activesheet" line matches everything I have researched. Any help is greatly appreciated!!! Private Sub CommandButton2_Click() Dim h, w, t, l As Long 'h=height, w=width, t=top, l=left Dim k As Integer h = 21 w = 91.5 l = 50 t = 92 For k = 1 To 26 ActiveSheet.OLEObjects.Add(ClassType:="Forms.Comma ndButton.1", Left:=l, Top:=t, Width:=w, Height:=h).Select OLEObject.Caption = "Button " & k OLEObject.Name = "Week " & k t = t + 38 If k = 7 Or k = 14 Or k = 20 Then l = l + 145 t = 92 End If Next k End Sub The code is suppose to create 26 buttons equal in size and space them, aligning then equally apart vertically and horizontally. Much appreciation for anyone helping with this!!!! Les -- Dave Peterson |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Just to add, might be an idea to change
OLEObj.Name = "Week " & k to OLEObj.Name = "Week_" & k IOW, avoid naming ActiveX controls with spaces or punctuation. Regards, Peter T "Dave Peterson" wrote in message ... Option Explicit Private Sub CommandButton2_Click() Dim h As Double Dim w As Double Dim t As Double Dim l As Long 'h=height, w=width, t=top, l=left Dim k As Long Dim OLEObj As OLEObject h = 21 w = 91.5 l = 50 t = 92 For k = 1 To 26 Set OLEObj = ActiveSheet.OLEObjects.Add _ (ClassType:="Forms.CommandButton.1", _ Left:=l, Top:=t, Width:=w, Height:=h) OLEObj.Object.Caption = "Button " & k OLEObj.Name = "Week " & k t = t + 38 If k = 7 Or k = 14 Or k = 20 Then l = l + 145 t = 92 End If Next k End Sub Personally, I find plopping the buttons over cells a little easier to layout. WLMPilot wrote: I have posted this before and I am still having problems. I have researched myself and cannot come up with anything. I have a macro that will create 26 commandbuttons on the active sheet. I get one button created with caption "CommandButton4". I also get Run-time Error 424: Object required. I cannot figure it out. The "Activesheet" line matches everything I have researched. Any help is greatly appreciated!!! Private Sub CommandButton2_Click() Dim h, w, t, l As Long 'h=height, w=width, t=top, l=left Dim k As Integer h = 21 w = 91.5 l = 50 t = 92 For k = 1 To 26 ActiveSheet.OLEObjects.Add(ClassType:="Forms.Comma ndButton.1", Left:=l, Top:=t, Width:=w, Height:=h).Select OLEObject.Caption = "Button " & k OLEObject.Name = "Week " & k t = t + 38 If k = 7 Or k = 14 Or k = 20 Then l = l + 145 t = 92 End If Next k End Sub The code is suppose to create 26 buttons equal in size and space them, aligning then equally apart vertically and horizontally. Much appreciation for anyone helping with this!!!! Les -- Dave Peterson |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I don't like spaces in my names, either.
In fact, I'd use: OLEObj.Name = "Week_" & format(k,"00") So that they would all look the same (kind of). Peter T wrote: Just to add, might be an idea to change OLEObj.Name = "Week " & k to OLEObj.Name = "Week_" & k IOW, avoid naming ActiveX controls with spaces or punctuation. Regards, Peter T "Dave Peterson" wrote in message ... Option Explicit Private Sub CommandButton2_Click() Dim h As Double Dim w As Double Dim t As Double Dim l As Long 'h=height, w=width, t=top, l=left Dim k As Long Dim OLEObj As OLEObject h = 21 w = 91.5 l = 50 t = 92 For k = 1 To 26 Set OLEObj = ActiveSheet.OLEObjects.Add _ (ClassType:="Forms.CommandButton.1", _ Left:=l, Top:=t, Width:=w, Height:=h) OLEObj.Object.Caption = "Button " & k OLEObj.Name = "Week " & k t = t + 38 If k = 7 Or k = 14 Or k = 20 Then l = l + 145 t = 92 End If Next k End Sub Personally, I find plopping the buttons over cells a little easier to layout. WLMPilot wrote: I have posted this before and I am still having problems. I have researched myself and cannot come up with anything. I have a macro that will create 26 commandbuttons on the active sheet. I get one button created with caption "CommandButton4". I also get Run-time Error 424: Object required. I cannot figure it out. The "Activesheet" line matches everything I have researched. Any help is greatly appreciated!!! Private Sub CommandButton2_Click() Dim h, w, t, l As Long 'h=height, w=width, t=top, l=left Dim k As Integer h = 21 w = 91.5 l = 50 t = 92 For k = 1 To 26 ActiveSheet.OLEObjects.Add(ClassType:="Forms.Comma ndButton.1", Left:=l, Top:=t, Width:=w, Height:=h).Select OLEObject.Caption = "Button " & k OLEObject.Name = "Week " & k t = t + 38 If k = 7 Or k = 14 Or k = 20 Then l = l + 145 t = 92 End If Next k End Sub The code is suppose to create 26 buttons equal in size and space them, aligning then equally apart vertically and horizontally. Much appreciation for anyone helping with this!!!! Les -- Dave Peterson -- Dave Peterson |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Ah, but type of name is not just a matter of preference with ActiveX
controls ! Regards, Peter T "Dave Peterson" wrote in message ... I don't like spaces in my names, either. In fact, I'd use: OLEObj.Name = "Week_" & format(k,"00") So that they would all look the same (kind of). Peter T wrote: Just to add, might be an idea to change OLEObj.Name = "Week " & k to OLEObj.Name = "Week_" & k IOW, avoid naming ActiveX controls with spaces or punctuation. Regards, Peter T <snip |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I don't understand what you mean.
Peter T wrote: Ah, but type of name is not just a matter of preference with ActiveX controls ! Regards, Peter T "Dave Peterson" wrote in message ... I don't like spaces in my names, either. In fact, I'd use: OLEObj.Name = "Week_" & format(k,"00") So that they would all look the same (kind of). Peter T wrote: Just to add, might be an idea to change OLEObj.Name = "Week " & k to OLEObj.Name = "Week_" & k IOW, avoid naming ActiveX controls with spaces or punctuation. Regards, Peter T <snip -- Dave Peterson |
#7
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Thank you, Thank you, Thank you!!!!
Works perfectly!!!! Les "Dave Peterson" wrote: Option Explicit Private Sub CommandButton2_Click() Dim h As Double Dim w As Double Dim t As Double Dim l As Long 'h=height, w=width, t=top, l=left Dim k As Long Dim OLEObj As OLEObject h = 21 w = 91.5 l = 50 t = 92 For k = 1 To 26 Set OLEObj = ActiveSheet.OLEObjects.Add _ (ClassType:="Forms.CommandButton.1", _ Left:=l, Top:=t, Width:=w, Height:=h) OLEObj.Object.Caption = "Button " & k OLEObj.Name = "Week " & k t = t + 38 If k = 7 Or k = 14 Or k = 20 Then l = l + 145 t = 92 End If Next k End Sub Personally, I find plopping the buttons over cells a little easier to layout. WLMPilot wrote: I have posted this before and I am still having problems. I have researched myself and cannot come up with anything. I have a macro that will create 26 commandbuttons on the active sheet. I get one button created with caption "CommandButton4". I also get Run-time Error 424: Object required. I cannot figure it out. The "Activesheet" line matches everything I have researched. Any help is greatly appreciated!!! Private Sub CommandButton2_Click() Dim h, w, t, l As Long 'h=height, w=width, t=top, l=left Dim k As Integer h = 21 w = 91.5 l = 50 t = 92 For k = 1 To 26 ActiveSheet.OLEObjects.Add(ClassType:="Forms.Comma ndButton.1", Left:=l, Top:=t, Width:=w, Height:=h).Select OLEObject.Caption = "Button " & k OLEObject.Name = "Week " & k t = t + 38 If k = 7 Or k = 14 Or k = 20 Then l = l + 145 t = 92 End If Next k End Sub The code is suppose to create 26 buttons equal in size and space them, aligning then equally apart vertically and horizontally. Much appreciation for anyone helping with this!!!! Les -- Dave Peterson |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
insert row / insert column command buttons | Excel Worksheet Functions | |||
Truncate, Insert, or Update SQL command in EXCEL Macro | Excel Programming | |||
How can I insert a run macro command in the IF function? | Excel Programming | |||
Creating command buttons beside every row to execute each row macro | Excel Programming | |||
Control Buttons vs. Command Buttons | Excel Programming |