Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Программирование, связанное с MS Office > [Перенесено из VB6/MS Access]Проблема с созданием макросов!


Автор: DanteVolk 5.4.2009, 17:17
Доброго вам времени суток !!! Заранее извеняюсь  возможно за нубский вопрос, но проблема есть проблема !! Как сделать чтобы макрос в экселе автоматически брал в рамку текст причем нефексированого размера!!

Код

    Range("A1:I11").Select
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
    With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
    With Selection.Borders(xlInsideVertical)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
    With Selection.Borders(xlInsideHorizontal)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
End Sub

чтото примерно вот так !! Только размер текста должен быть любым а рамка точно подгонятся под этот размер ЗАРАНИЕ СПАСИБО 

Автор: mihanik 5.4.2009, 21:15
А теперь ещё раз и поподробнее...

Автор: Данкинг 5.4.2009, 21:22
Тебе надо узнать число занятых строк и столбцов (уж не знаю, как на VBA это сделать). А затем пройтись двумя циклами по строкам и ячейкам, каждой ячейке делая Cells(x,y).Borders.lineStyle=1. smile 

Автор: DanteVolk 5.4.2009, 21:32
Цитата(mihanik @ 5.4.2009,  21:15)
А теперь ещё раз и поподробнее...

Вобщем смотри !!! Есть иходный текст который фильтруется определенным образам по наименованию товара по сериям ну и. т. д. неважно как он фильтруется в результате получаем конечный текст Причем количество столбцов фиксировано а количество строк всегда разное !! Так вот мне надо чтобы (да кстати вся фильтрация исходного текста происходит через макрос ) можно было добавить чтото чтобы макрос помимо фильтрации делал еще и рамку на этот текст (все тоже услови с разным количеством строк )

Автор: Akina 5.4.2009, 21:50
Цитата(DanteVolk @  5.4.2009,  22:32 Найти цитируемый пост)
количество строк всегда разное 

SpecialCells в помощь.

Автор: TEH3OP 6.4.2009, 11:24
Цитата(DanteVolk @  5.4.2009,  21:32 Найти цитируемый пост)
Вобщем смотри !!! Есть иходный текст который фильтруется определенным образам по наименованию товара по сериям ну и. т. д. неважно как он фильтруется в результате получаем конечный текст

Так у тебя текст или таблица Excel? Ты уж определись... smile

Цитата(DanteVolk @  5.4.2009,  21:32 Найти цитируемый пост)
Причем количество столбцов фиксировано а количество строк всегда разное !! Так вот мне надо чтобы (да кстати вся фильтрация исходного текста происходит через макрос ) можно было добавить чтото чтобы макрос помимо фильтрации делал еще и рамку на этот текст (все тоже услови с разным количеством строк ) 

Так всётаки это таблица Excel. Какой бы тип фильтрации не делался и AdvancedFilter и AutoFilter, форматирование будет всегда такое же как у фильтруемого списка. Добавь все рамки в ихсодную таблицу и в отфильтрованном виде она будет выглядеть так же.

Автор: RockClimber 6.4.2009, 14:22
Попробуй так. Выполни такой макрос:
Код
Sub test()
Range("A1").CurrentRegion.Select ' Допустим, что наша табличка всегда начинается с ячейки А1
End Sub
Посмотри результат. Если после этой строчки будет выделено то, что тебе надо, тогда в своем макросе из первого поста вместо
Код
Range("A1:I11").Select
пиши
Код
Range("A1").CurrentRegion.Select
Я так понял условие задачи...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)