Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Selection in a range.
Hi
I am extremely new to Excel programming (this morning) and have had some macro designs thrust upon me. I am trying to select rows 1 & 2 of a previous selection (to effectively format the header rows in table). I have made it work where the table is 3 columns using: Selection.Range("A1:C2").Select but I need to make it work for tables more than 3 colums, the tables could be any size and anywhere on a worksheet. So I tried: Selection.Range("1:2").Select but this didn't work. Any suggestions? |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Selection in a range.
On Mon, 8 Sep 2008 05:00:01 -0700, ML wrote:
Hi I am extremely new to Excel programming (this morning) and have had some macro designs thrust upon me. I am trying to select rows 1 & 2 of a previous selection (to effectively format the header rows in table). I have made it work where the table is 3 columns using: Selection.Range("A1:C2").Select but I need to make it work for tables more than 3 colums, the tables could be any size and anywhere on a worksheet. So I tried: Selection.Range("1:2").Select but this didn't work. Any suggestions? First of all, and importantly, there is no need to "select" the cells within VBA in order to format them. It is more efficient to just address the cells directly. One way to set a variable so as to refer to the first two rows in a previous selection: ------------------------ Dim c As Range Set c = Selection Set c = c.Resize(2) ------------------------ If all the cells are being formatted the same, then perhaps something like: ---------------------- With c .NumberFormat = "@" .Font.Bold = True .Font.Italic = True .Font.Size = 16 End With ------------------------ --ron |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Selection in a range.
This has solved it.
Many thanks. "Ron Rosenfeld" wrote: On Mon, 8 Sep 2008 05:00:01 -0700, ML wrote: Hi I am extremely new to Excel programming (this morning) and have had some macro designs thrust upon me. I am trying to select rows 1 & 2 of a previous selection (to effectively format the header rows in table). I have made it work where the table is 3 columns using: Selection.Range("A1:C2").Select but I need to make it work for tables more than 3 colums, the tables could be any size and anywhere on a worksheet. So I tried: Selection.Range("1:2").Select but this didn't work. Any suggestions? First of all, and importantly, there is no need to "select" the cells within VBA in order to format them. It is more efficient to just address the cells directly. One way to set a variable so as to refer to the first two rows in a previous selection: ------------------------ Dim c As Range Set c = Selection Set c = c.Resize(2) ------------------------ If all the cells are being formatted the same, then perhaps something like: ---------------------- With c .NumberFormat = "@" .Font.Bold = True .Font.Italic = True .Font.Size = 16 End With ------------------------ --ron |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Selection in a range.
On Mon, 8 Sep 2008 05:38:00 -0700, ML wrote:
This has solved it. Many thanks. Glad to help. Thanks for the feedback. --ron |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Narrow Range based on Selection in Another Range | Excel Discussion (Misc queries) | |||
Range(Selection, Selection.End(xlToRight)).Select | Excel Programming | |||
Identifying a selection of a selection of a range | Excel Worksheet Functions | |||
Excel VBA - Range(Selection, Selection.End(xlDown)).Name issue. | Excel Programming | |||
Creating range name for a range selection | Excel Programming |