Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 550
Default Column Number to letter in Row Source

Having a little trouble with this and can't seem to find it in Google.

The following works for ComboBox "TeamPick"

TeamPick.RowSource = "Divisions!B4:B11"

Problem is that I want to use an integer variable in place of
the column letter.

e.g.
Dim i as Integer
i = 5
TeamPick.RowSource should be range E4:E11

I know I could jury-rig this with a lookup table somewhere
but was hoping there was a simpler solution.

Thanks,
John


  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Column Number to letter in Row Source


try
Dim i as Integer
i= 5
with worksheets("Divisions")
set TeamPick.RowSource = range(.cells(4,i),.cells(11,i))
msgbox range(.cells(4,i),.cells(11,i)).address ' please delete
end with



Note this is untested.


------------------------------------------------
~~ Message posted from http://www.ExcelTip.com/
~~View and post usenet messages directly from http://www.ExcelForum.com/

~~Now Available: Financial Statements.xls, a step by step guide to creating financial statements
  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 550
Default Column Number to letter in Row Source

Kieran,

Didn't work, but thanks anyway.
I'll play with it some more tomorrow.

John

"Kieran" wrote in message
...

try
Dim i as Integer
i= 5
with worksheets("Divisions")
set TeamPick.RowSource = range(.cells(4,i),.cells(11,i))
msgbox range(.cells(4,i),.cells(11,i)).address ' please delete
end with



Note this is untested.


------------------------------------------------
~~ Message posted from http://www.ExcelTip.com/
~~View and post usenet messages directly from http://www.ExcelForum.com/

~~Now Available: Financial Statements.xls, a step by step guide to

creating financial statements


  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 79
Default Column Number to letter in Row Source

John,

you can set RowSource dynamically, not only in design mode

So, for the comboBox Initialize event (or activate or enter - you should
choose proper event to undate the combo box list - let me know if don't know
how), use this code:

Dim FirstRow as integer
Dim LastRow as integer
Dim Col as integer
Dim ListSource as range

' point to the range you want, you can change that dynamically instead of
fixed numbers
FirstRow = 4
LastRow=11
Col=5

set ListSource = Sheets("Divisions").Range(cells(FirstRow, Col),
cells(LastRow, Col))

TeamPick.RowSource = ListSource

It's untested, but should work

RADO


"John Wilson" wrote in message
...
Having a little trouble with this and can't seem to find it in Google.

The following works for ComboBox "TeamPick"

TeamPick.RowSource = "Divisions!B4:B11"

Problem is that I want to use an integer variable in place of
the column letter.

e.g.
Dim i as Integer
i = 5
TeamPick.RowSource should be range E4:E11

I know I could jury-rig this with a lookup table somewhere
but was hoping there was a simpler solution.

Thanks,
John




  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 107
Default Column Number to letter in Row Source

How about:

Dim i As Integer
Dim strCol As String
i = 5
strCol = Chr(i + 64)
TeamPick.RowSource = strCol & "4:" & strCol & "11"

--
HTH,
Dianne

In ,
John Wilson typed:
Having a little trouble with this and can't seem to find it in Google.

The following works for ComboBox "TeamPick"

TeamPick.RowSource = "Divisions!B4:B11"

Problem is that I want to use an integer variable in place of
the column letter.

e.g.
Dim i as Integer
i = 5
TeamPick.RowSource should be range E4:E11

I know I could jury-rig this with a lookup table somewhere
but was hoping there was a simpler solution.

Thanks,
John





  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Column Number to letter in Row Source

Dim i as Integer
i = 5
TeamPick.RowSource=Range("A4:A11").Offset(0,i-1).Address(External:=True)

from the immediate window:

i = 5
? Range("A4:A11").Offset(0,i-1).Address(External:=True)
[Book1]Sheet1!$E$4:$E$11

--
Regards,
Tom Ogilvy

"John Wilson" wrote in message
...
Kieran,

Didn't work, but thanks anyway.
I'll play with it some more tomorrow.

John

"Kieran" wrote in message
...

try
Dim i as Integer
i= 5
with worksheets("Divisions")
set TeamPick.RowSource = range(.cells(4,i),.cells(11,i))
msgbox range(.cells(4,i),.cells(11,i)).address ' please delete
end with



Note this is untested.


------------------------------------------------
~~ Message posted from http://www.ExcelTip.com/
~~View and post usenet messages directly from http://www.ExcelForum.com/

~~Now Available: Financial Statements.xls, a step by step guide to

creating financial statements




  #7   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Column Number to letter in Row Source

set ListSource = Sheets("Divisions").Range(cells(FirstRow, Col),
cells(LastRow, Col))

Assumes the activesheet for the Cells objects. Either preface all with a
sheet reference or don't preface any and assume the activesheet.

Also, Rowsource is expecting a string, so you would need to do


TeamPick.RowSource = ListSource.Address

and probably better would be

TeamPick.RowSource = ListSource.Address(external:=True)
--
Regards,
Tom Ogilvy


"RADO" wrote in message
...
John,

you can set RowSource dynamically, not only in design mode

So, for the comboBox Initialize event (or activate or enter - you should
choose proper event to undate the combo box list - let me know if don't

know
how), use this code:

Dim FirstRow as integer
Dim LastRow as integer
Dim Col as integer
Dim ListSource as range

' point to the range you want, you can change that dynamically instead

of
fixed numbers
FirstRow = 4
LastRow=11
Col=5

set ListSource = Sheets("Divisions").Range(cells(FirstRow, Col),
cells(LastRow, Col))

TeamPick.RowSource = ListSource

It's untested, but should work

RADO


"John Wilson" wrote in message
...
Having a little trouble with this and can't seem to find it in Google.

The following works for ComboBox "TeamPick"

TeamPick.RowSource = "Divisions!B4:B11"

Problem is that I want to use an integer variable in place of
the column letter.

e.g.
Dim i as Integer
i = 5
TeamPick.RowSource should be range E4:E11

I know I could jury-rig this with a lookup table somewhere
but was hoping there was a simpler solution.

Thanks,
John






  #8   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Column Number to letter in Row Source

While it may not be an issue here, if

strCol = left(columns(i).Address(0,0), 2 + (i < 27))

it could handle an i value greater than 26.

--
Regards,
Tom Ogilvy

"Dianne" wrote in message
...
How about:

Dim i As Integer
Dim strCol As String
i = 5
strCol = Chr(i + 64)
TeamPick.RowSource = strCol & "4:" & strCol & "11"

--
HTH,
Dianne

In ,
John Wilson typed:
Having a little trouble with this and can't seem to find it in Google.

The following works for ComboBox "TeamPick"

TeamPick.RowSource = "Divisions!B4:B11"

Problem is that I want to use an integer variable in place of
the column letter.

e.g.
Dim i as Integer
i = 5
TeamPick.RowSource should be range E4:E11

I know I could jury-rig this with a lookup table somewhere
but was hoping there was a simpler solution.

Thanks,
John





  #9   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 107
Default Column Number to letter in Row Source

Nice one -- filed away.

--
Dianne

In ,
Tom Ogilvy typed:
While it may not be an issue here, if

strCol = left(columns(i).Address(0,0), 2 + (i < 27))

it could handle an i value greater than 26.


"Dianne" wrote in message
...
How about:

Dim i As Integer
Dim strCol As String
i = 5
strCol = Chr(i + 64)
TeamPick.RowSource = strCol & "4:" & strCol & "11"

--
HTH,
Dianne

In ,
John Wilson typed:
Having a little trouble with this and can't seem to find it in
Google.

The following works for ComboBox "TeamPick"

TeamPick.RowSource = "Divisions!B4:B11"

Problem is that I want to use an integer variable in place of
the column letter.

e.g.
Dim i as Integer
i = 5
TeamPick.RowSource should be range E4:E11

I know I could jury-rig this with a lookup table somewhere
but was hoping there was a simpler solution.

Thanks,
John



  #10   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 48
Default Column Number to letter in Row Source

The property row source accepts only strings not ranges, that´s the
reason why fails...

so, what you should use is simply:

TeamPick.RowSource = range(.cells(4,i),.cells(11,i)).address

Mika.


  #11   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 550
Default Column Number to letter in Row Source

Tom, et.al.,

My thanks to you and everyone else that responded.
I finally got a chance to try some of these suggestions out.

What I finally used was:

TeamPick.RowSource = _
Worksheets("Divisions"). _
Range("A19:A26").offset(0, DivPicked - 1). _
Address(External:=True)

John

"Tom Ogilvy" wrote in message
...
Dim i as Integer
i = 5
TeamPick.RowSource=Range("A4:A11").Offset(0,i-1).Address(External:=True)

from the immediate window:

i = 5
? Range("A4:A11").Offset(0,i-1).Address(External:=True)
[Book1]Sheet1!$E$4:$E$11

--
Regards,
Tom Ogilvy

"John Wilson" wrote in message
...
Kieran,

Didn't work, but thanks anyway.
I'll play with it some more tomorrow.

John

"Kieran" wrote in message
...

try
Dim i as Integer
i= 5
with worksheets("Divisions")
set TeamPick.RowSource = range(.cells(4,i),.cells(11,i))
msgbox range(.cells(4,i),.cells(11,i)).address ' please delete
end with



Note this is untested.


------------------------------------------------
~~ Message posted from http://www.ExcelTip.com/
~~View and post usenet messages directly from

http://www.ExcelForum.com/

~~Now Available: Financial Statements.xls, a step by step guide to

creating financial statements






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 turn excel columns from column number to column letter? column Setting up and Configuration of Excel 1 April 29th 08 10:15 AM
how do I change column headers from a number to a letter niffer Excel Discussion (Misc queries) 2 October 11th 07 04:27 PM
Column() to return a letter instead of a number? cKBoy Excel Worksheet Functions 16 February 17th 06 04:50 AM
column header changed from letter to number, how return to letter Ron Excel Discussion (Misc queries) 2 May 9th 05 08:34 PM
Auto number w/ different letter-number combos in same column Colleen B Excel Worksheet Functions 2 February 23rd 05 02:41 PM


All times are GMT +1. The time now is 08:49 AM.

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

About Us

"It's about Microsoft Excel"