Как указать диапазон ячеек

Taffy

Создаю отчет в ЭкселеПишу макрос для этого отчетаВот такой макрос получился при записи макроса
Sub ddd()
Range("B35:B47").Select
 With Selection
 .HorizontalAlignment = xlLeft
 .VerticalAlignment = xlCenter
 .WrapText = True
 .Orientation = <b>0</b>
 .AddIndent = False
 .IndentLevel = <b>0</b>
 .ShrinkToFit = False
 .ReadingOrder = xlContext
 .MergeCells = True
 End With
End Sub
Проблема в том что диапазон ("B35:B47") мне заранее неизвестен - он зависит от значений в ячейках. Я знаю как я могу вычислить первую и последнюю строку диапазона.Я не знаю как эти значения передать в RangeЗЫПоиск не помогFAQ нетуХелп у VB странный (даже на мсдне)Спасибо за любую помощь
7 ответов

Taffy

Range(Cells(RowUp, ColUp), Cells(RowDown, ColDown).Address).SelectВот так!ЗЫ: Ничего личного! (с)


Taffy

Спасибо большое :)


Taffy

И в догонку - а можно ссылки на _приличную_ доку по VB для написания макросов к экселю?


Taffy

И в догонку - а можно ссылки на _приличную_ доку по VB для написания макросов к экселю?
Мне лично встроенной справки хватает. %)


Taffy

Если кому интересноОбъединение ячеек с одинаковым содержимым во 2 колонке
i = <b>1</b>
 k = i + <b>1</b>
 While i < <b>1000</b>
 If Cells(i, <b>8</b>) <> "" Then
 While Cells(i, <b>2</b>) = Cells(k, <b>2</b>) And k < <b>1000</b>
 Cells(k, <b>2</b>).Select
 Selection.ClearContents
 k = k + <b>1</b>
 Wend
 If k <> i + <b>1</b> Then
 Range(Cells(i, <b>2</b>), Cells(k - <b>1</b>, <b>2</b>)).Select
 With Selection
 .HorizontalAlignment = xlLeft
 .VerticalAlignment = xlCenter
 .WrapText = True
 .Orientation = <b>0</b>
 .AddIndent = False
 .IndentLevel = <b>0</b>
 .ShrinkToFit = False
 .ReadingOrder = xlContext
 .MergeCells = True
 End With
 End If
 End If
i = k
k = k + <b>1</b>
 Wend
Ужжасно не хватает толкового хелпа :(


Taffy

Taffy, А не думали еще чтобы вторую колонку не делать руками?


Taffy

trubad,в смысле чтобы и номер колонки вычислялся?я не поняла Вашего вопроса