ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Long Strings (https://www.excelbanter.com/excel-programming/379214-re-long-strings.html)

Trevor Shuttleworth

Long Strings
 
I don't think you need such long strings ...

One (shorter) way:

Set NewRange = _
Range("A1:F4,A22:F25,A43:F46,A64:F67,A85:F88,A106: F109,A127:F130")
Set NewRange = Union(NewRange, _
Range("G1:L4,G22:L25,G43:L46,G64:L67,G85:L88,G106: L109,G127:L130"))
Set NewRange = Union(NewRange, _
Range("M1:R4,M22:R25,M43:R46,M64:R67,M85:R88,M106: R109,M127:R130"))
Set NewRange = Union(NewRange, _
Range("S1:X4,S22:X25,S43:X46,S64:X67,S85:X88,S106: X109,S127:X130"))

But even shorter:

Set NewRange = _
Range("A1:X4,A22:X25,A43:X46,A64:X67,A85:X88,A106: X109,A127:X130")

With NewRange
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With

Regards

Trevor


"Donna C" wrote in message
...
I am pretty new to this VB programming stuff and I am having some
problems.I
am trying to merge cells across a wide selection of cells on a work sheet.
It
worked fine when on a single line (column A:F for example) however the
scrolling issue came in.I tried to concatenate and combine things however
something is amiss. Its probably something simple but I can't see it.Any
suggestions would be great.Heres what I've got.
Range("A1:F1,A2:F2,A3:F3,A4:F4,A22:F22,A23:F23,A24 :F24,A25:F25,A43:F43" &
_
"
A44:F44,A45:F45,A46:F46,A64:F64,A65:F65,A66:F66,A6 7:F67,A85:F85,A86:F86" &
_
" A87:F87,A88:F88,A106:F106,A107:F107,A108:F108,A109 :F109" & _
" A127:F127,A128:F128,A129:F129,A130:F130" & _
" G1:L1,G2:L2,G3:L3,G4:L4,G22:L22,G23:L23,G24:L24,G2 5:L25" & _
" G43:L43,G44:L44,G45:L45,G46:L46,G64:L64,G65:L65,G6 6:L66" & _
" G67:L67,G85:L85,G86:L86,G87:L87,G88:L88,G106:L106" & _
"
G107:L107,G108:L108,G109:L109,G127:L127,G128:L128, G129:L129,G130:L130" & _
" M1:R1,M2:R2,M3:R3,M4:R4,M22:R22,M23:R23,M24:R24,M2 5:R25,M43:R43"
& _
" M44:R44,M45:R45,M46:R46,M64:R64,M65:R65,M66:R66,M6 7:R67,M85:R85"
& _
" M86:R86,M87:R87,M88:R88,M106:R106,M107:R107,M108:R 108,M109:R109"
& _
" M127:R127,M128:R128,M129:R129,M130:R130" & _
" S1:X1,S2:X2,S3:X3,S4:X4,S22:X22,S23:X23,S24:X24,S2 5:X25" & _
" S43:X43,S44:X44,S45:X45,S46:X46,S64:X64,S65:X65,S6 6:X66" & _
" S67:X67,S85:X85,S86:X86,S87:X87,S88:X88,S106:X106, S107:X107" & _
"
S108:X108,S109:X109,S127:X127,S128:X128,S129:X129, S130:X130").Select
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With
Thanks in advance
Donna C.




Peter T

Long Strings
 
Trevor - I'm guessing the OP wants to merge a large number of areas. So,
although the "shorter" and "even shorter" ways would be fine applying
formats they'll merge a small number of large areas.

Donna - The string method will keep your multiple areas intact for merging
but there's an address string limit of 255. You can probably do what you
want in about 4 shots with strings within this limit. Perhaps make an array
of strings and loop

dim s(1 to 4) as string

s(1) = "A87:F87,A88:F88,A106:F106,A107:F107,A108:F108,A10 9:F109," & _
"A127:F127,A128:F128,A129:F129,A130:F130," & _ etc
s(2) = etc

(dont forget the commas at the end of all lines except the last line

for i = 1 to 4
with range(s(i))
.mergecells = true
.other formats
end with
next

Regards,
Peter T

PS afraid I'm too lazy to test it!


"Trevor Shuttleworth" wrote in message
...
I don't think you need such long strings ...

One (shorter) way:

Set NewRange = _
Range("A1:F4,A22:F25,A43:F46,A64:F67,A85:F88,A106: F109,A127:F130")
Set NewRange = Union(NewRange, _
Range("G1:L4,G22:L25,G43:L46,G64:L67,G85:L88,G106: L109,G127:L130"))
Set NewRange = Union(NewRange, _
Range("M1:R4,M22:R25,M43:R46,M64:R67,M85:R88,M106: R109,M127:R130"))
Set NewRange = Union(NewRange, _
Range("S1:X4,S22:X25,S43:X46,S64:X67,S85:X88,S106: X109,S127:X130"))

But even shorter:

Set NewRange = _
Range("A1:X4,A22:X25,A43:X46,A64:X67,A85:X88,A106: X109,A127:X130")

With NewRange
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With

Regards

Trevor


"Donna C" wrote in message
...
I am pretty new to this VB programming stuff and I am having some
problems.I
am trying to merge cells across a wide selection of cells on a work

sheet.
It
worked fine when on a single line (column A:F for example) however the
scrolling issue came in.I tried to concatenate and combine things

however
something is amiss. Its probably something simple but I can't see it.Any
suggestions would be great.Heres what I've got.
Range("A1:F1,A2:F2,A3:F3,A4:F4,A22:F22,A23:F23,A24 :F24,A25:F25,A43:F43"

&
_
"
A44:F44,A45:F45,A46:F46,A64:F64,A65:F65,A66:F66,A6 7:F67,A85:F85,A86:F86"

&
_
" A87:F87,A88:F88,A106:F106,A107:F107,A108:F108,A109 :F109" & _
" A127:F127,A128:F128,A129:F129,A130:F130" & _
" G1:L1,G2:L2,G3:L3,G4:L4,G22:L22,G23:L23,G24:L24,G2 5:L25" & _
" G43:L43,G44:L44,G45:L45,G46:L46,G64:L64,G65:L65,G6 6:L66" & _
" G67:L67,G85:L85,G86:L86,G87:L87,G88:L88,G106:L106" & _
"
G107:L107,G108:L108,G109:L109,G127:L127,G128:L128, G129:L129,G130:L130" &

_
"

M1:R1,M2:R2,M3:R3,M4:R4,M22:R22,M23:R23,M24:R24,M2 5:R25,M43:R43"
& _
"

M44:R44,M45:R45,M46:R46,M64:R64,M65:R65,M66:R66,M6 7:R67,M85:R85"
& _
"

M86:R86,M87:R87,M88:R88,M106:R106,M107:R107,M108:R 108,M109:R109"
& _
" M127:R127,M128:R128,M129:R129,M130:R130" & _
" S1:X1,S2:X2,S3:X3,S4:X4,S22:X22,S23:X23,S24:X24,S2 5:X25" & _
" S43:X43,S44:X44,S45:X45,S46:X46,S64:X64,S65:X65,S6 6:X66" & _
" S67:X67,S85:X85,S86:X86,S87:X87,S88:X88,S106:X106, S107:X107" &

_
"
S108:X108,S109:X109,S127:X127,S128:X128,S129:X129, S130:X130").Select
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With
Thanks in advance
Donna C.






Donna C

Long Strings
 
Trevor,
Thank you for your suggestion.
I ran the sub, it meges the desired rows the only problem is it merges all
cells on those lines from A-X. I just needed select columns and rows for a
group of forms.Any other suggestions would be great.
Thanks
Donna C.

"Trevor Shuttleworth" wrote:

I don't think you need such long strings ...

One (shorter) way:

Set NewRange = _
Range("A1:F4,A22:F25,A43:F46,A64:F67,A85:F88,A106: F109,A127:F130")
Set NewRange = Union(NewRange, _
Range("G1:L4,G22:L25,G43:L46,G64:L67,G85:L88,G106: L109,G127:L130"))
Set NewRange = Union(NewRange, _
Range("M1:R4,M22:R25,M43:R46,M64:R67,M85:R88,M106: R109,M127:R130"))
Set NewRange = Union(NewRange, _
Range("S1:X4,S22:X25,S43:X46,S64:X67,S85:X88,S106: X109,S127:X130"))

But even shorter:

Set NewRange = _
Range("A1:X4,A22:X25,A43:X46,A64:X67,A85:X88,A106: X109,A127:X130")

With NewRange
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With

Regards

Trevor


"Donna C" wrote in message
...
I am pretty new to this VB programming stuff and I am having some
problems.I
am trying to merge cells across a wide selection of cells on a work sheet.
It
worked fine when on a single line (column A:F for example) however the
scrolling issue came in.I tried to concatenate and combine things however
something is amiss. Its probably something simple but I can't see it.Any
suggestions would be great.Heres what I've got.
Range("A1:F1,A2:F2,A3:F3,A4:F4,A22:F22,A23:F23,A24 :F24,A25:F25,A43:F43" &
_
"
A44:F44,A45:F45,A46:F46,A64:F64,A65:F65,A66:F66,A6 7:F67,A85:F85,A86:F86" &
_
" A87:F87,A88:F88,A106:F106,A107:F107,A108:F108,A109 :F109" & _
" A127:F127,A128:F128,A129:F129,A130:F130" & _
" G1:L1,G2:L2,G3:L3,G4:L4,G22:L22,G23:L23,G24:L24,G2 5:L25" & _
" G43:L43,G44:L44,G45:L45,G46:L46,G64:L64,G65:L65,G6 6:L66" & _
" G67:L67,G85:L85,G86:L86,G87:L87,G88:L88,G106:L106" & _
"
G107:L107,G108:L108,G109:L109,G127:L127,G128:L128, G129:L129,G130:L130" & _
" M1:R1,M2:R2,M3:R3,M4:R4,M22:R22,M23:R23,M24:R24,M2 5:R25,M43:R43"
& _
" M44:R44,M45:R45,M46:R46,M64:R64,M65:R65,M66:R66,M6 7:R67,M85:R85"
& _
" M86:R86,M87:R87,M88:R88,M106:R106,M107:R107,M108:R 108,M109:R109"
& _
" M127:R127,M128:R128,M129:R129,M130:R130" & _
" S1:X1,S2:X2,S3:X3,S4:X4,S22:X22,S23:X23,S24:X24,S2 5:X25" & _
" S43:X43,S44:X44,S45:X45,S46:X46,S64:X64,S65:X65,S6 6:X66" & _
" S67:X67,S85:X85,S86:X86,S87:X87,S88:X88,S106:X106, S107:X107" & _
"
S108:X108,S109:X109,S127:X127,S128:X128,S129:X129, S130:X130").Select
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With
Thanks in advance
Donna C.






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

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com