Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 113
Default Programmatically set Excel 97 Control Toobar Checkbox object & container name

Howdy
Need in Excel 97 to programmatically create some control toolbar checkboxes
and set both (I think the terminology is) the object and container names to
the same name "cb_r" & i & "c" & j
What code do I need to add to my snippet of my code below to set both names?
Thanks
Matt

Set cb =
ws.OLEObjects.Add(ClassType:="Forms.CheckBox.1", _
Left:=intLeftLocation, _
Top:=cellUnder.Top + 2, _
Width:="13.5", _
Height:="15", _
DisplayAsIcon:=False)
With cb 'add other info
.Name = "cb_r" & i & "c" & j 'name the checkbox with
it's row and column number
.LinkedCell =
Worksheets("Data-PMProducts-LinkedCells"). _
Range("anchorpoint_LinkedCells").Cells(i,
j).Address(external:=True)

.Placement = xlMove ' This lets each check box stay
with its row during sorts. NEEDED???
With .Object
.BackColor = &H80000005
.BackStyle = fmBackStyleTransparent
.Caption = ""
End With
End With


  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,272
Default Programmatically set Excel 97 Control Toobar Checkbox object & container name

Matt,

Is this what you want?

With cb 'add other info
.Name = "cb_r" & i & "c" & j 'name the checkbox with
it 's row and column number
ws.OLEObjects(.Name).Name = .Name
....

--

HTH

RP
(remove nothere from the email address if mailing direct)


"Matt Jensen" wrote in message
...
Howdy
Need in Excel 97 to programmatically create some control toolbar

checkboxes
and set both (I think the terminology is) the object and container names

to
the same name "cb_r" & i & "c" & j
What code do I need to add to my snippet of my code below to set both

names?
Thanks
Matt

Set cb =
ws.OLEObjects.Add(ClassType:="Forms.CheckBox.1", _
Left:=intLeftLocation, _
Top:=cellUnder.Top + 2, _
Width:="13.5", _
Height:="15", _
DisplayAsIcon:=False)
With cb 'add other info
.Name = "cb_r" & i & "c" & j 'name the checkbox

with
it's row and column number
.LinkedCell =
Worksheets("Data-PMProducts-LinkedCells"). _
Range("anchorpoint_LinkedCells").Cells(i,
j).Address(external:=True)

.Placement = xlMove ' This lets each check box

stay
with its row during sorts. NEEDED???
With .Object
.BackColor = &H80000005
.BackStyle = fmBackStyleTransparent
.Caption = ""
End With
End With




  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 113
Default Programmatically set Excel 97 Control Toobar Checkbox object & container name

Looks beautiful - thank you very much Bob!
Cheers mate
Matt

"Bob Phillips" wrote in message
...
Matt,

Is this what you want?

With cb 'add other info
.Name = "cb_r" & i & "c" & j 'name the checkbox

with
it 's row and column number
ws.OLEObjects(.Name).Name = .Name
...

--

HTH

RP
(remove nothere from the email address if mailing direct)


"Matt Jensen" wrote in message
...
Howdy
Need in Excel 97 to programmatically create some control toolbar

checkboxes
and set both (I think the terminology is) the object and container names

to
the same name "cb_r" & i & "c" & j
What code do I need to add to my snippet of my code below to set both

names?
Thanks
Matt

Set cb =
ws.OLEObjects.Add(ClassType:="Forms.CheckBox.1", _
Left:=intLeftLocation, _
Top:=cellUnder.Top + 2, _
Width:="13.5", _
Height:="15", _
DisplayAsIcon:=False)
With cb 'add other info
.Name = "cb_r" & i & "c" & j 'name the checkbox

with
it's row and column number
.LinkedCell =
Worksheets("Data-PMProducts-LinkedCells"). _

Range("anchorpoint_LinkedCells").Cells(i,
j).Address(external:=True)

.Placement = xlMove ' This lets each check box

stay
with its row during sorts. NEEDED???
With .Object
.BackColor = &H80000005
.BackStyle = fmBackStyleTransparent
.Caption = ""
End With
End With






  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,272
Default Programmatically set Excel 97 Control Toobar Checkbox object & container name

Matt,

Did you ever get my tooltips code?

Bob


"Matt Jensen" wrote in message
...
Looks beautiful - thank you very much Bob!
Cheers mate
Matt

"Bob Phillips" wrote in message
...
Matt,

Is this what you want?

With cb 'add other info
.Name = "cb_r" & i & "c" & j 'name the checkbox

with
it 's row and column number
ws.OLEObjects(.Name).Name = .Name
...

--

HTH

RP
(remove nothere from the email address if mailing direct)


"Matt Jensen" wrote in message
...
Howdy
Need in Excel 97 to programmatically create some control toolbar

checkboxes
and set both (I think the terminology is) the object and container

names
to
the same name "cb_r" & i & "c" & j
What code do I need to add to my snippet of my code below to set both

names?
Thanks
Matt

Set cb =
ws.OLEObjects.Add(ClassType:="Forms.CheckBox.1", _
Left:=intLeftLocation, _
Top:=cellUnder.Top + 2, _
Width:="13.5", _
Height:="15", _
DisplayAsIcon:=False)
With cb 'add other info
.Name = "cb_r" & i & "c" & j 'name the

checkbox
with
it's row and column number
.LinkedCell =
Worksheets("Data-PMProducts-LinkedCells"). _

Range("anchorpoint_LinkedCells").Cells(i,
j).Address(external:=True)

.Placement = xlMove ' This lets each check box

stay
with its row during sorts. NEEDED???
With .Object
.BackColor = &H80000005
.BackStyle = fmBackStyleTransparent
.Caption = ""
End With
End With








  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 113
Default Programmatically set Excel 97 Control Toobar Checkbox object & container name

Ahh yes I did thanks Bob
You actually sent it to a different email address to the first time you sent
it and hence I missed it until I just checked now, but got it now, will have
to go thru it yet, looks good though - thanks very much Bob
Cheers
Matt


"Bob Phillips" wrote in message
...
Matt,

Did you ever get my tooltips code?

Bob


"Matt Jensen" wrote in message
...
Looks beautiful - thank you very much Bob!
Cheers mate
Matt

"Bob Phillips" wrote in message
...
Matt,

Is this what you want?

With cb 'add other info
.Name = "cb_r" & i & "c" & j 'name the

checkbox
with
it 's row and column number
ws.OLEObjects(.Name).Name = .Name
...

--

HTH

RP
(remove nothere from the email address if mailing direct)


"Matt Jensen" wrote in message
...
Howdy
Need in Excel 97 to programmatically create some control toolbar
checkboxes
and set both (I think the terminology is) the object and container

names
to
the same name "cb_r" & i & "c" & j
What code do I need to add to my snippet of my code below to set

both
names?
Thanks
Matt

Set cb =
ws.OLEObjects.Add(ClassType:="Forms.CheckBox.1", _
Left:=intLeftLocation, _
Top:=cellUnder.Top + 2, _
Width:="13.5", _
Height:="15", _
DisplayAsIcon:=False)
With cb 'add other info
.Name = "cb_r" & i & "c" & j 'name the

checkbox
with
it's row and column number
.LinkedCell =
Worksheets("Data-PMProducts-LinkedCells"). _

Range("anchorpoint_LinkedCells").Cells(i,
j).Address(external:=True)

.Placement = xlMove ' This lets each check

box
stay
with its row during sorts. NEEDED???
With .Object
.BackColor = &H80000005
.BackStyle = fmBackStyleTransparent
.Caption = ""
End With
End With












  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,272
Default Programmatically set Excel 97 Control Toobar Checkbox object & container name

I thought that might be the case as I lost your email request and found the
address I posted to somewhere else. Post directly if you have any problems.

Regards

Bob

"Matt Jensen" wrote in message
...
Ahh yes I did thanks Bob
You actually sent it to a different email address to the first time you

sent
it and hence I missed it until I just checked now, but got it now, will

have
to go thru it yet, looks good though - thanks very much Bob
Cheers
Matt


"Bob Phillips" wrote in message
...
Matt,

Did you ever get my tooltips code?

Bob


"Matt Jensen" wrote in message
...
Looks beautiful - thank you very much Bob!
Cheers mate
Matt

"Bob Phillips" wrote in message
...
Matt,

Is this what you want?

With cb 'add other info
.Name = "cb_r" & i & "c" & j 'name the

checkbox
with
it 's row and column number
ws.OLEObjects(.Name).Name = .Name
...

--

HTH

RP
(remove nothere from the email address if mailing direct)


"Matt Jensen" wrote in message
...
Howdy
Need in Excel 97 to programmatically create some control toolbar
checkboxes
and set both (I think the terminology is) the object and container

names
to
the same name "cb_r" & i & "c" & j
What code do I need to add to my snippet of my code below to set

both
names?
Thanks
Matt

Set cb =
ws.OLEObjects.Add(ClassType:="Forms.CheckBox.1", _
Left:=intLeftLocation, _
Top:=cellUnder.Top + 2, _
Width:="13.5", _
Height:="15", _
DisplayAsIcon:=False)
With cb 'add other info
.Name = "cb_r" & i & "c" & j 'name the

checkbox
with
it's row and column number
.LinkedCell =
Worksheets("Data-PMProducts-LinkedCells"). _

Range("anchorpoint_LinkedCells").Cells(i,
j).Address(external:=True)

.Placement = xlMove ' This lets each check

box
stay
with its row during sorts. NEEDED???
With .Object
.BackColor = &H80000005
.BackStyle = fmBackStyleTransparent
.Caption = ""
End With
End With












  #7   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 113
Default Programmatically set Excel 97 Control Toobar Checkbox object & container name

Hey Bob
Adjusted code as advised and it doesn't seem to be taking effect in xl97...?

Code looks like this:

Set cb =
ws.OLEObjects.Add(ClassType:="Forms.CheckBox.1", _
Left:=intLeftLocation, _
Top:=cellUnder.Top + 2, _
Width:="13.5", _
Height:="15", _
DisplayAsIcon:=False)
With cb 'add other info
.Name = "cb_r" & i & "c" & j
ws.OLEObjects(.Name).Name = .Name
.LinkedCell =
Worksheets("Data-PMProducts-LinkedCells"). _

Range("anchorpoint_LinkedCells").Cells(i,j).Addres s(external:=True)
With .Object
.BackColor = &H80000005
.BackStyle = fmBackStyleTransparent
.Caption = ""
End With
End With

It's definitely not taking effect, and code is definitely all being executed
(I changed the .Name = "cb_r" & i & "c" & j to .Name = "NewName_cb_r" & i
& "c" & j ) to make sure and this name change did occur but in the
properties dialogue it is only still saying checkbox1 etc. for the name
attribute of my checkboxes...
Any ideas?
Thanks
matt

"Bob Phillips" wrote in message
...
Matt,

Is this what you want?

With cb 'add other info
.Name = "cb_r" & i & "c" & j 'name the checkbox

with
it 's row and column number
ws.OLEObjects(.Name).Name = .Name
...

--

HTH

RP
(remove nothere from the email address if mailing direct)


"Matt Jensen" wrote in message
...
Howdy
Need in Excel 97 to programmatically create some control toolbar

checkboxes
and set both (I think the terminology is) the object and container names

to
the same name "cb_r" & i & "c" & j
What code do I need to add to my snippet of my code below to set both

names?
Thanks
Matt

Set cb =
ws.OLEObjects.Add(ClassType:="Forms.CheckBox.1", _
Left:=intLeftLocation, _
Top:=cellUnder.Top + 2, _
Width:="13.5", _
Height:="15", _
DisplayAsIcon:=False)
With cb 'add other info
.Name = "cb_r" & i & "c" & j 'name the checkbox

with
it's row and column number
.LinkedCell =
Worksheets("Data-PMProducts-LinkedCells"). _

Range("anchorpoint_LinkedCells").Cells(i,
j).Address(external:=True)

.Placement = xlMove ' This lets each check box

stay
with its row during sorts. NEEDED???
With .Object
.BackColor = &H80000005
.BackStyle = fmBackStyleTransparent
.Caption = ""
End With
End With






  #8   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 113
Default Programmatically set Excel 97 Control Toobar Checkbox object & container name

No errors either btw
matt

Adjusted code as advised and it doesn't seem to be taking effect in

xl97...?


  #9   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 113
Default Programmatically set Excel 97 Control Toobar Checkbox object & container name

Try this in a blank workbook in xl97 - doesn't work either...
Sub test()
Dim cb As OLEObject
Dim ws As Worksheet

Set ws = Worksheets("Sheet1") 'Sheet1
ws.Activate
ws.Range("A1").Activate

Set cb = ws.OLEObjects.Add(ClassType:="Forms.CheckBox.1", _
Left:=20, _
Top:=20, _
Width:=13.5, _
Height:=15, _
DisplayAsIcon:=False)
With cb
.Name = "CheckboxName"
ws.OLEObjects(.Name).Name = .Name
End With
End Sub

Matt

"Bob Phillips" wrote in message
...
Matt,

Is this what you want?

With cb 'add other info
.Name = "cb_r" & i & "c" & j 'name the checkbox

with
it 's row and column number
ws.OLEObjects(.Name).Name = .Name
...

--

HTH

RP
(remove nothere from the email address if mailing direct)


"Matt Jensen" wrote in message
...
Howdy
Need in Excel 97 to programmatically create some control toolbar

checkboxes
and set both (I think the terminology is) the object and container names

to
the same name "cb_r" & i & "c" & j
What code do I need to add to my snippet of my code below to set both

names?
Thanks
Matt

Set cb =
ws.OLEObjects.Add(ClassType:="Forms.CheckBox.1", _
Left:=intLeftLocation, _
Top:=cellUnder.Top + 2, _
Width:="13.5", _
Height:="15", _
DisplayAsIcon:=False)
With cb 'add other info
.Name = "cb_r" & i & "c" & j 'name the checkbox

with
it's row and column number
.LinkedCell =
Worksheets("Data-PMProducts-LinkedCells"). _

Range("anchorpoint_LinkedCells").Cells(i,
j).Address(external:=True)

.Placement = xlMove ' This lets each check box

stay
with its row during sorts. NEEDED???
With .Object
.BackColor = &H80000005
.BackStyle = fmBackStyleTransparent
.Caption = ""
End With
End With






  #10   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Programmatically set Excel 97 Control Toobar Checkbox object & container name

' declarations are important
Dim cb as OleObject
Dim cb1 as MsForms.Checkbox

Set cb = ws.OLEObjects.Add(ClassType:="Forms.CheckBox.1", _
Left:=intLeftLocation, _
Top:=cellUnder.Top + 2, _
Width:="13.5", _
Height:="15", _
DisplayAsIcon:=False)
set cb1 = cb.Object
cb1 .Name = "cb_r" & i & "c" & j
cb.Name = cb1.Name
cb.LinkedCell = _
Worksheets("Data-PMProducts-LinkedCells"). _
Range("anchorpoint_LinkedCells").Cells(i,j).Addres s(external:=True)
With cb1
.BackColor = &H80000005
.BackStyle = fmBackStyleTransparent
.Caption = ""
End With
End With

--
Regards,
Tom Ogilvy


"Matt Jensen" wrote in message
...
Try this in a blank workbook in xl97 - doesn't work either...
Sub test()
Dim cb As OLEObject
Dim ws As Worksheet

Set ws = Worksheets("Sheet1") 'Sheet1
ws.Activate
ws.Range("A1").Activate

Set cb = ws.OLEObjects.Add(ClassType:="Forms.CheckBox.1", _
Left:=20, _
Top:=20, _
Width:=13.5, _
Height:=15, _
DisplayAsIcon:=False)
With cb
.Name = "CheckboxName"
ws.OLEObjects(.Name).Name = .Name
End With
End Sub

Matt

"Bob Phillips" wrote in message
...
Matt,

Is this what you want?

With cb 'add other info
.Name = "cb_r" & i & "c" & j 'name the checkbox

with
it 's row and column number
ws.OLEObjects(.Name).Name = .Name
...

--

HTH

RP
(remove nothere from the email address if mailing direct)


"Matt Jensen" wrote in message
...
Howdy
Need in Excel 97 to programmatically create some control toolbar

checkboxes
and set both (I think the terminology is) the object and container

names
to
the same name "cb_r" & i & "c" & j
What code do I need to add to my snippet of my code below to set both

names?
Thanks
Matt

Set cb =
ws.OLEObjects.Add(ClassType:="Forms.CheckBox.1", _
Left:=intLeftLocation, _
Top:=cellUnder.Top + 2, _
Width:="13.5", _
Height:="15", _
DisplayAsIcon:=False)
With cb 'add other info
.Name = "cb_r" & i & "c" & j 'name the

checkbox
with
it's row and column number
.LinkedCell =
Worksheets("Data-PMProducts-LinkedCells"). _

Range("anchorpoint_LinkedCells").Cells(i,
j).Address(external:=True)

.Placement = xlMove ' This lets each check box

stay
with its row during sorts. NEEDED???
With .Object
.BackColor = &H80000005
.BackStyle = fmBackStyleTransparent
.Caption = ""
End With
End With










  #11   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 113
Default Programmatically set Excel 97 Control Toobar Checkbox object & container name

Thanks Tom
Sorry I don't know the equivalent of :

Dim cb1 as MsForms.Checkbox

when on a worksheet instead of a userform (as in my case)?
Thanks
Matt

"Tom Ogilvy" wrote in message
...
' declarations are important
Dim cb as OleObject
Dim cb1 as MsForms.Checkbox

Set cb = ws.OLEObjects.Add(ClassType:="Forms.CheckBox.1", _
Left:=intLeftLocation, _
Top:=cellUnder.Top + 2, _
Width:="13.5", _
Height:="15", _
DisplayAsIcon:=False)
set cb1 = cb.Object
cb1 .Name = "cb_r" & i & "c" & j
cb.Name = cb1.Name
cb.LinkedCell = _
Worksheets("Data-PMProducts-LinkedCells"). _
Range("anchorpoint_LinkedCells").Cells(i,j).Addres s(external:=True)
With cb1
.BackColor = &H80000005
.BackStyle = fmBackStyleTransparent
.Caption = ""
End With
End With

--
Regards,
Tom Ogilvy


"Matt Jensen" wrote in message
...
Try this in a blank workbook in xl97 - doesn't work either...
Sub test()
Dim cb As OLEObject
Dim ws As Worksheet

Set ws = Worksheets("Sheet1") 'Sheet1
ws.Activate
ws.Range("A1").Activate

Set cb = ws.OLEObjects.Add(ClassType:="Forms.CheckBox.1", _
Left:=20, _
Top:=20, _
Width:=13.5, _
Height:=15, _
DisplayAsIcon:=False)
With cb
.Name = "CheckboxName"
ws.OLEObjects(.Name).Name = .Name
End With
End Sub

Matt

"Bob Phillips" wrote in message
...
Matt,

Is this what you want?

With cb 'add other info
.Name = "cb_r" & i & "c" & j 'name the

checkbox
with
it 's row and column number
ws.OLEObjects(.Name).Name = .Name
...

--

HTH

RP
(remove nothere from the email address if mailing direct)


"Matt Jensen" wrote in message
...
Howdy
Need in Excel 97 to programmatically create some control toolbar
checkboxes
and set both (I think the terminology is) the object and container

names
to
the same name "cb_r" & i & "c" & j
What code do I need to add to my snippet of my code below to set

both
names?
Thanks
Matt

Set cb =
ws.OLEObjects.Add(ClassType:="Forms.CheckBox.1", _
Left:=intLeftLocation, _
Top:=cellUnder.Top + 2, _
Width:="13.5", _
Height:="15", _
DisplayAsIcon:=False)
With cb 'add other info
.Name = "cb_r" & i & "c" & j 'name the

checkbox
with
it's row and column number
.LinkedCell =
Worksheets("Data-PMProducts-LinkedCells"). _

Range("anchorpoint_LinkedCells").Cells(i,
j).Address(external:=True)

.Placement = xlMove ' This lets each check

box
stay
with its row during sorts. NEEDED???
With .Object
.BackColor = &H80000005
.BackStyle = fmBackStyleTransparent
.Caption = ""
End With
End With










  #12   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Programmatically set Excel 97 Control Toobar Checkbox object & container name

This is written for a worksheet. There is no need to change it.

--
Regards,
Tom Ogilvy

"Matt Jensen" wrote in message
...
Thanks Tom
Sorry I don't know the equivalent of :

Dim cb1 as MsForms.Checkbox

when on a worksheet instead of a userform (as in my case)?
Thanks
Matt

"Tom Ogilvy" wrote in message
...
' declarations are important
Dim cb as OleObject
Dim cb1 as MsForms.Checkbox

Set cb = ws.OLEObjects.Add(ClassType:="Forms.CheckBox.1", _
Left:=intLeftLocation, _
Top:=cellUnder.Top + 2, _
Width:="13.5", _
Height:="15", _
DisplayAsIcon:=False)
set cb1 = cb.Object
cb1 .Name = "cb_r" & i & "c" & j
cb.Name = cb1.Name
cb.LinkedCell = _
Worksheets("Data-PMProducts-LinkedCells"). _
Range("anchorpoint_LinkedCells").Cells(i,j).Addres s(external:=True)
With cb1
.BackColor = &H80000005
.BackStyle = fmBackStyleTransparent
.Caption = ""
End With
End With

--
Regards,
Tom Ogilvy


"Matt Jensen" wrote in message
...
Try this in a blank workbook in xl97 - doesn't work either...
Sub test()
Dim cb As OLEObject
Dim ws As Worksheet

Set ws = Worksheets("Sheet1") 'Sheet1
ws.Activate
ws.Range("A1").Activate

Set cb = ws.OLEObjects.Add(ClassType:="Forms.CheckBox.1", _
Left:=20, _
Top:=20, _
Width:=13.5, _
Height:=15, _
DisplayAsIcon:=False)
With cb
.Name = "CheckboxName"
ws.OLEObjects(.Name).Name = .Name
End With
End Sub

Matt

"Bob Phillips" wrote in message
...
Matt,

Is this what you want?

With cb 'add other info
.Name = "cb_r" & i & "c" & j 'name the

checkbox
with
it 's row and column number
ws.OLEObjects(.Name).Name = .Name
...

--

HTH

RP
(remove nothere from the email address if mailing direct)


"Matt Jensen" wrote in message
...
Howdy
Need in Excel 97 to programmatically create some control toolbar
checkboxes
and set both (I think the terminology is) the object and container

names
to
the same name "cb_r" & i & "c" & j
What code do I need to add to my snippet of my code below to set

both
names?
Thanks
Matt

Set cb =
ws.OLEObjects.Add(ClassType:="Forms.CheckBox.1", _
Left:=intLeftLocation, _
Top:=cellUnder.Top + 2, _
Width:="13.5", _
Height:="15", _
DisplayAsIcon:=False)
With cb 'add other info
.Name = "cb_r" & i & "c" & j 'name the

checkbox
with
it's row and column number
.LinkedCell =
Worksheets("Data-PMProducts-LinkedCells"). _

Range("anchorpoint_LinkedCells").Cells(i,
j).Address(external:=True)

.Placement = xlMove ' This lets each check

box
stay
with its row during sorts. NEEDED???
With .Object
.BackColor = &H80000005
.BackStyle = fmBackStyleTransparent
.Caption = ""
End With
End With












  #13   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Programmatically set Excel 97 Control Toobar Checkbox object & container name

Here is a tested example that does what you want. I modified some of your
original code since I didn't want to try and recreate your layout.

If you get an error on the line
Dim cb1 as MsForms.Checkbox

then go to Tools=References and create a reference to the MSforms 2.0
library. Or insert a userform and the reference will be created
automatically. This is really more applicable in later versions of excel -
xl97 should already have the reference.

Sub Tester2()
Dim cb As OLEObject
Dim cb1 As MSForms.CheckBox
Dim i As Long, j As Long
Dim ws As Worksheet, obj As OLEObject
For Each obj In ActiveSheet.OLEObjects
obj.Delete
Next
Set ws = ActiveSheet
For i = 3 To 4
For j = 4 To 8 Step 3
Set cell = Cells(i, j)
Set cb = ws.OLEObjects.Add(ClassType:="Forms.CheckBox.1", _
Left:=cell.Left, _
Top:=cell.Top, _
Width:=cell.Width, _
Height:=cell.Height, _
DisplayAsIcon:=False)
Set cb1 = cb.Object
cb1.Name = "cb_r" & i & "c" & j
cb.Name = cb1.Name
cb.LinkedCell = _
ws.Cells(i, j).Address(external:=True)
With cb1
.BackColor = &H80000005
.BackStyle = fmBackStyleTransparent
.Caption = ""
End With

Next j
Next i

End Sub

--
Regards,
Tom Ogilvy

"Matt Jensen" wrote in message
...
Thanks Tom
Sorry I don't know the equivalent of :

Dim cb1 as MsForms.Checkbox

when on a worksheet instead of a userform (as in my case)?
Thanks
Matt

"Tom Ogilvy" wrote in message
...
' declarations are important
Dim cb as OleObject
Dim cb1 as MsForms.Checkbox

Set cb = ws.OLEObjects.Add(ClassType:="Forms.CheckBox.1", _
Left:=intLeftLocation, _
Top:=cellUnder.Top + 2, _
Width:="13.5", _
Height:="15", _
DisplayAsIcon:=False)
set cb1 = cb.Object
cb1 .Name = "cb_r" & i & "c" & j
cb.Name = cb1.Name
cb.LinkedCell = _
Worksheets("Data-PMProducts-LinkedCells"). _
Range("anchorpoint_LinkedCells").Cells(i,j).Addres s(external:=True)
With cb1
.BackColor = &H80000005
.BackStyle = fmBackStyleTransparent
.Caption = ""
End With
End With

--
Regards,
Tom Ogilvy


"Matt Jensen" wrote in message
...
Try this in a blank workbook in xl97 - doesn't work either...
Sub test()
Dim cb As OLEObject
Dim ws As Worksheet

Set ws = Worksheets("Sheet1") 'Sheet1
ws.Activate
ws.Range("A1").Activate

Set cb = ws.OLEObjects.Add(ClassType:="Forms.CheckBox.1", _
Left:=20, _
Top:=20, _
Width:=13.5, _
Height:=15, _
DisplayAsIcon:=False)
With cb
.Name = "CheckboxName"
ws.OLEObjects(.Name).Name = .Name
End With
End Sub

Matt

"Bob Phillips" wrote in message
...
Matt,

Is this what you want?

With cb 'add other info
.Name = "cb_r" & i & "c" & j 'name the

checkbox
with
it 's row and column number
ws.OLEObjects(.Name).Name = .Name
...

--

HTH

RP
(remove nothere from the email address if mailing direct)


"Matt Jensen" wrote in message
...
Howdy
Need in Excel 97 to programmatically create some control toolbar
checkboxes
and set both (I think the terminology is) the object and container

names
to
the same name "cb_r" & i & "c" & j
What code do I need to add to my snippet of my code below to set

both
names?
Thanks
Matt

Set cb =
ws.OLEObjects.Add(ClassType:="Forms.CheckBox.1", _
Left:=intLeftLocation, _
Top:=cellUnder.Top + 2, _
Width:="13.5", _
Height:="15", _
DisplayAsIcon:=False)
With cb 'add other info
.Name = "cb_r" & i & "c" & j 'name the

checkbox
with
it's row and column number
.LinkedCell =
Worksheets("Data-PMProducts-LinkedCells"). _

Range("anchorpoint_LinkedCells").Cells(i,
j).Address(external:=True)

.Placement = xlMove ' This lets each check

box
stay
with its row during sorts. NEEDED???
With .Object
.BackColor = &H80000005
.BackStyle = fmBackStyleTransparent
.Caption = ""
End With
End With












  #14   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 113
Default Programmatically set Excel 97 Control Toobar Checkbox object & container name

Great thanks Tom - your were right.
Guess I'll have to programmatically add and delete a form for the later
versions of excel to eliminate this problem when they are used...
Cheers
Matt

"Tom Ogilvy" wrote in message
...
Here is a tested example that does what you want. I modified some of

your
original code since I didn't want to try and recreate your layout.

If you get an error on the line
Dim cb1 as MsForms.Checkbox

then go to Tools=References and create a reference to the MSforms 2.0
library. Or insert a userform and the reference will be created
automatically. This is really more applicable in later versions of

excel -
xl97 should already have the reference.

Sub Tester2()
Dim cb As OLEObject
Dim cb1 As MSForms.CheckBox
Dim i As Long, j As Long
Dim ws As Worksheet, obj As OLEObject
For Each obj In ActiveSheet.OLEObjects
obj.Delete
Next
Set ws = ActiveSheet
For i = 3 To 4
For j = 4 To 8 Step 3
Set cell = Cells(i, j)
Set cb = ws.OLEObjects.Add(ClassType:="Forms.CheckBox.1", _
Left:=cell.Left, _
Top:=cell.Top, _
Width:=cell.Width, _
Height:=cell.Height, _
DisplayAsIcon:=False)
Set cb1 = cb.Object
cb1.Name = "cb_r" & i & "c" & j
cb.Name = cb1.Name
cb.LinkedCell = _
ws.Cells(i, j).Address(external:=True)
With cb1
.BackColor = &H80000005
.BackStyle = fmBackStyleTransparent
.Caption = ""
End With

Next j
Next i

End Sub

--
Regards,
Tom Ogilvy



  #15   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Programmatically set Excel 97 Control Toobar Checkbox object & container name

In later versions of Excel you shouldn't have to do it. Excel automatically
synchronizes the Name property of the Control and the OleObject container.

--
Regards,
Tom Ogilvy

"Matt Jensen" wrote in message
...
Great thanks Tom - your were right.
Guess I'll have to programmatically add and delete a form for the later
versions of excel to eliminate this problem when they are used...
Cheers
Matt

"Tom Ogilvy" wrote in message
...
Here is a tested example that does what you want. I modified some of

your
original code since I didn't want to try and recreate your layout.

If you get an error on the line
Dim cb1 as MsForms.Checkbox

then go to Tools=References and create a reference to the MSforms 2.0
library. Or insert a userform and the reference will be created
automatically. This is really more applicable in later versions of

excel -
xl97 should already have the reference.

Sub Tester2()
Dim cb As OLEObject
Dim cb1 As MSForms.CheckBox
Dim i As Long, j As Long
Dim ws As Worksheet, obj As OLEObject
For Each obj In ActiveSheet.OLEObjects
obj.Delete
Next
Set ws = ActiveSheet
For i = 3 To 4
For j = 4 To 8 Step 3
Set cell = Cells(i, j)
Set cb = ws.OLEObjects.Add(ClassType:="Forms.CheckBox.1", _
Left:=cell.Left, _
Top:=cell.Top, _
Width:=cell.Width, _
Height:=cell.Height, _
DisplayAsIcon:=False)
Set cb1 = cb.Object
cb1.Name = "cb_r" & i & "c" & j
cb.Name = cb1.Name
cb.LinkedCell = _
ws.Cells(i, j).Address(external:=True)
With cb1
.BackColor = &H80000005
.BackStyle = fmBackStyleTransparent
.Caption = ""
End With

Next j
Next i

End Sub

--
Regards,
Tom Ogilvy







  #16   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 113
Default Programmatically set Excel 97 Control Toobar Checkbox object & container name

I am aware of the synchronisation however since this app will be deployed on
both 97 and up at the same time then using the code you kindly provided I'll
need to either wrap it with a xl-version-if-statement or programmatically
add a form won't I - I guess the former is preferable though.

quick google search showed some code to use of:
If Val(Application.Version) <= 8 Then
' user is in 97 or earlier
End If


Matt

"Tom Ogilvy" wrote in message
...
In later versions of Excel you shouldn't have to do it. Excel

automatically
synchronizes the Name property of the Control and the OleObject container.

--
Regards,
Tom Ogilvy

"Matt Jensen" wrote in message
...
Great thanks Tom - your were right.
Guess I'll have to programmatically add and delete a form for the later
versions of excel to eliminate this problem when they are used...
Cheers
Matt

"Tom Ogilvy" wrote in message
...
Here is a tested example that does what you want. I modified some of

your
original code since I didn't want to try and recreate your layout.

If you get an error on the line
Dim cb1 as MsForms.Checkbox

then go to Tools=References and create a reference to the MSforms 2.0
library. Or insert a userform and the reference will be created
automatically. This is really more applicable in later versions of

excel -
xl97 should already have the reference.

Sub Tester2()
Dim cb As OLEObject
Dim cb1 As MSForms.CheckBox
Dim i As Long, j As Long
Dim ws As Worksheet, obj As OLEObject
For Each obj In ActiveSheet.OLEObjects
obj.Delete
Next
Set ws = ActiveSheet
For i = 3 To 4
For j = 4 To 8 Step 3
Set cell = Cells(i, j)
Set cb = ws.OLEObjects.Add(ClassType:="Forms.CheckBox.1", _
Left:=cell.Left, _
Top:=cell.Top, _
Width:=cell.Width, _
Height:=cell.Height, _
DisplayAsIcon:=False)
Set cb1 = cb.Object
cb1.Name = "cb_r" & i & "c" & j
cb.Name = cb1.Name
cb.LinkedCell = _
ws.Cells(i, j).Address(external:=True)
With cb1
.BackColor = &H80000005
.BackStyle = fmBackStyleTransparent
.Caption = ""
End With

Next j
Next i

End Sub

--
Regards,
Tom Ogilvy







  #17   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Programmatically set Excel 97 Control Toobar Checkbox object & container name

References are maintained at the workbook level. So if you have the
reference set in xl97, when you send the file to another version, it should
cause the reference to be set to the latest version of that reference.

So I don't think you need to do anything. The code will do the
synchronization, but it should only be slightly redundant in later versions,
so probably not worth doing anything special. You will still want to rename
the checkboxes in all versions - running the code unaltered/unsupplemented
for version of excel should achieve that.

--
Regards,
Tom Ogilvy

"Matt Jensen" wrote in message
...
I am aware of the synchronisation however since this app will be deployed

on
both 97 and up at the same time then using the code you kindly provided

I'll
need to either wrap it with a xl-version-if-statement or programmatically
add a form won't I - I guess the former is preferable though.

quick google search showed some code to use of:
If Val(Application.Version) <= 8 Then
' user is in 97 or earlier
End If


Matt

"Tom Ogilvy" wrote in message
...
In later versions of Excel you shouldn't have to do it. Excel

automatically
synchronizes the Name property of the Control and the OleObject

container.

--
Regards,
Tom Ogilvy

"Matt Jensen" wrote in message
...
Great thanks Tom - your were right.
Guess I'll have to programmatically add and delete a form for the

later
versions of excel to eliminate this problem when they are used...
Cheers
Matt

"Tom Ogilvy" wrote in message
...
Here is a tested example that does what you want. I modified some

of
your
original code since I didn't want to try and recreate your layout.

If you get an error on the line
Dim cb1 as MsForms.Checkbox

then go to Tools=References and create a reference to the MSforms

2.0
library. Or insert a userform and the reference will be created
automatically. This is really more applicable in later versions of
excel -
xl97 should already have the reference.

Sub Tester2()
Dim cb As OLEObject
Dim cb1 As MSForms.CheckBox
Dim i As Long, j As Long
Dim ws As Worksheet, obj As OLEObject
For Each obj In ActiveSheet.OLEObjects
obj.Delete
Next
Set ws = ActiveSheet
For i = 3 To 4
For j = 4 To 8 Step 3
Set cell = Cells(i, j)
Set cb = ws.OLEObjects.Add(ClassType:="Forms.CheckBox.1", _
Left:=cell.Left, _
Top:=cell.Top, _
Width:=cell.Width, _
Height:=cell.Height, _
DisplayAsIcon:=False)
Set cb1 = cb.Object
cb1.Name = "cb_r" & i & "c" & j
cb.Name = cb1.Name
cb.LinkedCell = _
ws.Cells(i, j).Address(external:=True)
With cb1
.BackColor = &H80000005
.BackStyle = fmBackStyleTransparent
.Caption = ""
End With

Next j
Next i

End Sub

--
Regards,
Tom Ogilvy








  #18   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 113
Default Programmatically set Excel 97 Control Toobar Checkbox object & container name

I'm confused Tom, but if my understanding of terminology is correct then the
reference may be set in either 97 or 2002, and that code "broke" in 2002
with default settings which I won't be able to alter on other
workstations...

"Tom Ogilvy" wrote in message
...
References are maintained at the workbook level. So if you have the
reference set in xl97, when you send the file to another version, it

should
cause the reference to be set to the latest version of that reference.

So I don't think you need to do anything. The code will do the
synchronization, but it should only be slightly redundant in later

versions,
so probably not worth doing anything special. You will still want to

rename
the checkboxes in all versions - running the code unaltered/unsupplemented
for version of excel should achieve that.

--
Regards,
Tom Ogilvy

"Matt Jensen" wrote in message
...
I am aware of the synchronisation however since this app will be

deployed
on
both 97 and up at the same time then using the code you kindly provided

I'll
need to either wrap it with a xl-version-if-statement or

programmatically
add a form won't I - I guess the former is preferable though.

quick google search showed some code to use of:
If Val(Application.Version) <= 8 Then
' user is in 97 or earlier
End If


Matt

"Tom Ogilvy" wrote in message
...
In later versions of Excel you shouldn't have to do it. Excel

automatically
synchronizes the Name property of the Control and the OleObject

container.

--
Regards,
Tom Ogilvy

"Matt Jensen" wrote in message
...
Great thanks Tom - your were right.
Guess I'll have to programmatically add and delete a form for the

later
versions of excel to eliminate this problem when they are used...
Cheers
Matt

"Tom Ogilvy" wrote in message
...
Here is a tested example that does what you want. I modified

some
of
your
original code since I didn't want to try and recreate your layout.

If you get an error on the line
Dim cb1 as MsForms.Checkbox

then go to Tools=References and create a reference to the MSforms

2.0
library. Or insert a userform and the reference will be created
automatically. This is really more applicable in later versions

of
excel -
xl97 should already have the reference.

Sub Tester2()
Dim cb As OLEObject
Dim cb1 As MSForms.CheckBox
Dim i As Long, j As Long
Dim ws As Worksheet, obj As OLEObject
For Each obj In ActiveSheet.OLEObjects
obj.Delete
Next
Set ws = ActiveSheet
For i = 3 To 4
For j = 4 To 8 Step 3
Set cell = Cells(i, j)
Set cb = ws.OLEObjects.Add(ClassType:="Forms.CheckBox.1", _
Left:=cell.Left, _
Top:=cell.Top, _
Width:=cell.Width, _
Height:=cell.Height, _
DisplayAsIcon:=False)
Set cb1 = cb.Object
cb1.Name = "cb_r" & i & "c" & j
cb.Name = cb1.Name
cb.LinkedCell = _
ws.Cells(i, j).Address(external:=True)
With cb1
.BackColor = &H80000005
.BackStyle = fmBackStyleTransparent
.Caption = ""
End With

Next j
Next i

End Sub

--
Regards,
Tom Ogilvy










  #19   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Programmatically set Excel 97 Control Toobar Checkbox object & container name

To simplify:
do your development in xl97. as part of that, set the reference.

Now you should be able to use the workbook/code in any version, xl97 or
later.

I don't know what ["broke" in 2002] means.

--
Regards,
Tom Ogilvy


"Matt Jensen" wrote in message
...
I'm confused Tom, but if my understanding of terminology is correct then

the
reference may be set in either 97 or 2002, and that code "broke" in 2002
with default settings which I won't be able to alter on other
workstations...

"Tom Ogilvy" wrote in message
...
References are maintained at the workbook level. So if you have the
reference set in xl97, when you send the file to another version, it

should
cause the reference to be set to the latest version of that reference.

So I don't think you need to do anything. The code will do the
synchronization, but it should only be slightly redundant in later

versions,
so probably not worth doing anything special. You will still want to

rename
the checkboxes in all versions - running the code

unaltered/unsupplemented
for version of excel should achieve that.

--
Regards,
Tom Ogilvy

"Matt Jensen" wrote in message
...
I am aware of the synchronisation however since this app will be

deployed
on
both 97 and up at the same time then using the code you kindly

provided
I'll
need to either wrap it with a xl-version-if-statement or

programmatically
add a form won't I - I guess the former is preferable though.

quick google search showed some code to use of:
If Val(Application.Version) <= 8 Then
' user is in 97 or earlier
End If


Matt

"Tom Ogilvy" wrote in message
...
In later versions of Excel you shouldn't have to do it. Excel
automatically
synchronizes the Name property of the Control and the OleObject

container.

--
Regards,
Tom Ogilvy

"Matt Jensen" wrote in message
...
Great thanks Tom - your were right.
Guess I'll have to programmatically add and delete a form for the

later
versions of excel to eliminate this problem when they are used...
Cheers
Matt

"Tom Ogilvy" wrote in message
...
Here is a tested example that does what you want. I modified

some
of
your
original code since I didn't want to try and recreate your

layout.

If you get an error on the line
Dim cb1 as MsForms.Checkbox

then go to Tools=References and create a reference to the

MSforms
2.0
library. Or insert a userform and the reference will be created
automatically. This is really more applicable in later versions

of
excel -
xl97 should already have the reference.

Sub Tester2()
Dim cb As OLEObject
Dim cb1 As MSForms.CheckBox
Dim i As Long, j As Long
Dim ws As Worksheet, obj As OLEObject
For Each obj In ActiveSheet.OLEObjects
obj.Delete
Next
Set ws = ActiveSheet
For i = 3 To 4
For j = 4 To 8 Step 3
Set cell = Cells(i, j)
Set cb = ws.OLEObjects.Add(ClassType:="Forms.CheckBox.1", _
Left:=cell.Left, _
Top:=cell.Top, _
Width:=cell.Width, _
Height:=cell.Height, _
DisplayAsIcon:=False)
Set cb1 = cb.Object
cb1.Name = "cb_r" & i & "c" & j
cb.Name = cb1.Name
cb.LinkedCell = _
ws.Cells(i, j).Address(external:=True)
With cb1
.BackColor = &H80000005
.BackStyle = fmBackStyleTransparent
.Caption = ""
End With

Next j
Next i

End Sub

--
Regards,
Tom Ogilvy












  #20   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 113
Default Programmatically set Excel 97 Control Toobar Checkbox object & container name

Thanks very much for your patience Tom! :-)

Sorry mate, after finally getting the app back to the all-XP machine and
testing it the code all works great thanks!!!
Was too worried about it not working that I didn't actually test the end
product on the machine in question!!

My brain and eyes are seriously fried from so much time spent on this, sorry
for this.

THanks very much

Matt


"Tom Ogilvy" wrote in message
...
To simplify:
do your development in xl97. as part of that, set the reference.

Now you should be able to use the workbook/code in any version, xl97 or
later.

I don't know what ["broke" in 2002] means.

--
Regards,
Tom Ogilvy


"Matt Jensen" wrote in message
...
I'm confused Tom, but if my understanding of terminology is correct then

the
reference may be set in either 97 or 2002, and that code "broke" in 2002
with default settings which I won't be able to alter on other
workstations...

"Tom Ogilvy" wrote in message
...
References are maintained at the workbook level. So if you have the
reference set in xl97, when you send the file to another version, it

should
cause the reference to be set to the latest version of that reference.

So I don't think you need to do anything. The code will do the
synchronization, but it should only be slightly redundant in later

versions,
so probably not worth doing anything special. You will still want to

rename
the checkboxes in all versions - running the code

unaltered/unsupplemented
for version of excel should achieve that.

--
Regards,
Tom Ogilvy

"Matt Jensen" wrote in message
...
I am aware of the synchronisation however since this app will be

deployed
on
both 97 and up at the same time then using the code you kindly

provided
I'll
need to either wrap it with a xl-version-if-statement or

programmatically
add a form won't I - I guess the former is preferable though.

quick google search showed some code to use of:
If Val(Application.Version) <= 8 Then
' user is in 97 or earlier
End If


Matt

"Tom Ogilvy" wrote in message
...
In later versions of Excel you shouldn't have to do it. Excel
automatically
synchronizes the Name property of the Control and the OleObject
container.

--
Regards,
Tom Ogilvy

"Matt Jensen" wrote in

message
...
Great thanks Tom - your were right.
Guess I'll have to programmatically add and delete a form for

the
later
versions of excel to eliminate this problem when they are

used...
Cheers
Matt

"Tom Ogilvy" wrote in message
...
Here is a tested example that does what you want. I modified

some
of
your
original code since I didn't want to try and recreate your

layout.

If you get an error on the line
Dim cb1 as MsForms.Checkbox

then go to Tools=References and create a reference to the

MSforms
2.0
library. Or insert a userform and the reference will be

created
automatically. This is really more applicable in later

versions
of
excel -
xl97 should already have the reference.

Sub Tester2()
Dim cb As OLEObject
Dim cb1 As MSForms.CheckBox
Dim i As Long, j As Long
Dim ws As Worksheet, obj As OLEObject
For Each obj In ActiveSheet.OLEObjects
obj.Delete
Next
Set ws = ActiveSheet
For i = 3 To 4
For j = 4 To 8 Step 3
Set cell = Cells(i, j)
Set cb = ws.OLEObjects.Add(ClassType:="Forms.CheckBox.1", _
Left:=cell.Left, _
Top:=cell.Top, _
Width:=cell.Width, _
Height:=cell.Height, _
DisplayAsIcon:=False)
Set cb1 = cb.Object
cb1.Name = "cb_r" & i & "c" & j
cb.Name = cb1.Name
cb.LinkedCell = _
ws.Cells(i, j).Address(external:=True)
With cb1
.BackColor = &H80000005
.BackStyle = fmBackStyleTransparent
.Caption = ""
End With

Next j
Next i

End Sub

--
Regards,
Tom Ogilvy














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
HOW DO I GIVE A CONTROL TOOLBOX CHECKBOX A VALUE IN EXCEL? Paula Excel Worksheet Functions 0 March 6th 06 04:31 PM
how to delete or remove checkbox form control in Excel? tubbekans Excel Discussion (Misc queries) 1 December 14th 05 08:51 PM
URGENT : How to get CHECKBOX object value from a Excel Worksheet by a C# Class No Name Excel Programming 0 November 22nd 04 09:06 AM
Excel - adding control programmatically. Alan B[_3_] Excel Programming 3 December 5th 03 04:34 PM
OLE Container Control in VB.NET Yi[_2_] Excel Programming 5 October 14th 03 02:41 AM


All times are GMT +1. The time now is 02:27 PM.

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"