Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 470
Default Macro to insert command buttons

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   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 35,218
Default Macro to insert command buttons

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   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,600
Default Macro to insert command buttons

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   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 35,218
Default Macro to insert command buttons

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   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,600
Default Macro to insert command buttons

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   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 35,218
Default Macro to insert command buttons

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   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 470
Default Macro to insert command buttons

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

  #8   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,600
Default Macro to insert command buttons

Although you can name an ActiveX say "Week 1", the only way it could ever
be referenced with that name would be as a string, eg ws.OleObjects("week
1"). You could even give multiple controls the same name. However event
code would not respond with such a name, any event would use its original
object name.

Try either of the following

Programmatically add a CommandButton and give it a name with a space or
punctuation. In design mode double click the object with the expectation of
creating its click event in the module - the name in event will be not be
the one it was renamed as with the space.

Manually add a CommandButton, while selected, in the Names box rename it
with a space (it should stick). Now click the properties icon on the Control
toolbox toolbar and attempt to change "CommandButtonX" to the name with the
space - illegal name !

Regards,
Peter T


"Dave Peterson" wrote in message
...
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



  #9   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 35,218
Default Macro to insert command buttons

It wouldn't bother me to go through the OLEObjects collection. The mismatch
between the name and the event name would bother me more.


Peter T wrote:

Although you can name an ActiveX say "Week 1", the only way it could ever
be referenced with that name would be as a string, eg ws.OleObjects("week
1"). You could even give multiple controls the same name. However event
code would not respond with such a name, any event would use its original
object name.

Try either of the following

Programmatically add a CommandButton and give it a name with a space or
punctuation. In design mode double click the object with the expectation of
creating its click event in the module - the name in event will be not be
the one it was renamed as with the space.

Manually add a CommandButton, while selected, in the Names box rename it
with a space (it should stick). Now click the properties icon on the Control
toolbox toolbar and attempt to change "CommandButtonX" to the name with the
space - illegal name !

Regards,
Peter T

"Dave Peterson" wrote in message
...
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


--

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
insert row / insert column command buttons fairgreen Excel Worksheet Functions 1 October 29th 07 02:41 PM
Truncate, Insert, or Update SQL command in EXCEL Macro LD Excel Programming 2 May 15th 07 10:02 PM
How can I insert a run macro command in the IF function? emil Excel Programming 4 April 15th 06 02:57 PM
Creating command buttons beside every row to execute each row macro sirriff Excel Programming 3 September 12th 04 03:42 AM
Control Buttons vs. Command Buttons Robert Gibson Excel Programming 1 October 13th 03 04:33 PM


All times are GMT +1. The time now is 09:56 AM.

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

About Us

"It's about Microsoft Excel"