Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Limiting Input Range using VBA
I am trying to set the InputRange of a combobox on a sheet (not using a
form) via vba. I thought the following code would work, but I get a space between the last column reference and the rownumber. Dim i As Integer Dim s As String i = 13 + Sheet8.Range("H11").Value 'The number of rows not empty s = "I13:I" & Str(i) Worksheets("Estimate").Shapes("cboMultSize").Contr olFormat.ListFillRange = s For example, if i = 2, then s turns out to be "I13:I 15", I need this to be "I13:I15". Can anyone help me here? Thanks. |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Limiting Input Range using VBA
The Str function always output a leading space for positive numbers (it is
an ancient function from the early days of BASIC and the space is sort of a place holder in case the number were negative). You could apply the Trim function to it... s = "I13:I" & Trim(Str(i)) or use the Mid function to skip over it... s = "I13:I" & Mid(Str(i), 2) but the easiest thing to do is not use that function at all; use the CStr function instead... s = "I13:I" & CStr(i) Rick "Nathan Guill" wrote in message ... I am trying to set the InputRange of a combobox on a sheet (not using a form) via vba. I thought the following code would work, but I get a space between the last column reference and the rownumber. Dim i As Integer Dim s As String i = 13 + Sheet8.Range("H11").Value 'The number of rows not empty s = "I13:I" & Str(i) Worksheets("Estimate").Shapes("cboMultSize").Contr olFormat.ListFillRange = s For example, if i = 2, then s turns out to be "I13:I 15", I need this to be "I13:I15". Can anyone help me here? Thanks. |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Limiting Input Range using VBA
Try
s = "I13:I" & Trim(Str(i)) Hope this helps, Hutch "Nathan Guill" wrote: I am trying to set the InputRange of a combobox on a sheet (not using a form) via vba. I thought the following code would work, but I get a space between the last column reference and the rownumber. Dim i As Integer Dim s As String i = 13 + Sheet8.Range("H11").Value 'The number of rows not empty s = "I13:I" & Str(i) Worksheets("Estimate").Shapes("cboMultSize").Contr olFormat.ListFillRange = s For example, if i = 2, then s turns out to be "I13:I 15", I need this to be "I13:I15". Can anyone help me here? Thanks. |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Limiting Input Range using VBA
What happens if you just use:
s = "I13:I" & i Nathan Guill wrote: I am trying to set the InputRange of a combobox on a sheet (not using a form) via vba. I thought the following code would work, but I get a space between the last column reference and the rownumber. Dim i As Integer Dim s As String i = 13 + Sheet8.Range("H11").Value 'The number of rows not empty s = "I13:I" & Str(i) Worksheets("Estimate").Shapes("cboMultSize").Contr olFormat.ListFillRange = s For example, if i = 2, then s turns out to be "I13:I 15", I need this to be "I13:I15". Can anyone help me here? Thanks. -- Dave Peterson |
#5
Posted to microsoft.public.excel.programming
|
|||
|
|||
Limiting Input Range using VBA
Thanks Rick, the CStr worked perfectly.
"Rick Rothstein (MVP - VB)" wrote in message ... The Str function always output a leading space for positive numbers (it is an ancient function from the early days of BASIC and the space is sort of a place holder in case the number were negative). You could apply the Trim function to it... s = "I13:I" & Trim(Str(i)) or use the Mid function to skip over it... s = "I13:I" & Mid(Str(i), 2) but the easiest thing to do is not use that function at all; use the CStr function instead... s = "I13:I" & CStr(i) Rick "Nathan Guill" wrote in message ... I am trying to set the InputRange of a combobox on a sheet (not using a form) via vba. I thought the following code would work, but I get a space between the last column reference and the rownumber. Dim i As Integer Dim s As String i = 13 + Sheet8.Range("H11").Value 'The number of rows not empty s = "I13:I" & Str(i) Worksheets("Estimate").Shapes("cboMultSize").Contr olFormat.ListFillRange = s For example, if i = 2, then s turns out to be "I13:I 15", I need this to be "I13:I15". Can anyone help me here? Thanks. |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Limiting input by date | Excel Discussion (Misc queries) | |||
Limiting a worksheet's selection range. | Excel Programming | |||
Limiting input | Excel Programming | |||
Limiting the range of AutoFilter? | Excel Worksheet Functions | |||
Limiting input with input box | Excel Programming |