Combobox setting

P

Pat

Why would a combobox not align itself to the cell in which it is linked to.
If for example the properties LinkedCell setting is showing it to be H20 the
combobox will sit several cells above rather than sit over the cell it is
linked to.

Any idea why this should be?

Pat
 
F

Frank Kabel

Hi
the linking just defines where the result of your combobox should be
stored. Has nothing to do with the location.
 
J

Juan Pablo González

Pat said:
Why would a combobox not align itself to the cell in which it is
linked to. If for example the properties LinkedCell setting is
showing it to be H20 the combobox will sit several cells above rather
than sit over the cell it is linked to.

Any idea why this should be?

Pat

The linked cell only controls the value of the combobox, not its
position.... you'll have to move it using VBA or set its properties to not
move or resize with cells.
 
B

Bob Phillips

Controls are not part of a worksheet, but are in a layer above the
worksheet. Also, comboboxes don't have to be linked, so where would they be
positioned then.

This code shows how to align it to a cell, but it won't move with any
worksheet changes.

With ActiveSheet.ComboBox1
.Left = Range("C3").Left
.Top = Range("C3").Top
End With

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)
 
P

Pat

Here is the code for this control. I had it working as it should a while ago
but as I have made a few changes to the workbook something happened along
the way which has resulted in it not doing what it should now.
I can get it to keep it aligned to column AJ but not hover over any of the
cells as they become the focus.


Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If InRange(ActiveCell, Range("AJ77:AJ1000")) Then
If (ActiveWindow.ActiveCell.Column = 36) And (ActiveWindow.ActiveCell.Row
<= 1000) _
Then 'Column AF & 77<= Row 1000
LabDescCB.Left = 1300
LabDescCB.LinkedCell = ActiveWindow.ActiveCell.Address _
(rowabsolute = False, columnabsolute = False)
LabDescCB.Height = ActiveWindow.ActiveCell.Height
LabDescCB.Width = ActiveWindow.ActiveCell.Width
LabDescCB.Top = ActiveWindow.ActiveCell.Top


LabDescCB.Top = (ActiveWindow.ActiveCell.Row * _
ActiveWindow.ActiveCell.Height) - ActiveWindow.ActiveCell.Height

End If
End Sub
 
Top