Не работал с макросами, попробовал сделать но никак не выходит. Предположим есть файл с 3000 тысячами строк, и 15 столбцами требуется чтобы макрос автоматически выделял рамкой требуемые строки в указанном диапазоне. Пробовал так но вручную вбивать диапазоны каждых 16 строк как то не совсем правильно.
[vba]
Код
[/code]Range("b3:H18,B19:H35").Activate
Selection.Borders(xlDiagonalDown).LineStyle = xlNone Selection.Borders(xlDiagonalUp).LineStyle = xlNone With Selection.Borders(xlEdgeLeft) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlMedium End With With Selection.Borders(xlEdgeTop) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlMedium End With With Selection.Borders(xlEdgeBottom) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlMedium End With With Selection.Borders(xlEdgeRight) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlMedium End With Selection.Borders(xlInsideVertical).LineStyle = xlNone Selection.Borders(xlInsideHorizontal).LineStyle = xlNone[code]
[/vba]
Не работал с макросами, попробовал сделать но никак не выходит. Предположим есть файл с 3000 тысячами строк, и 15 столбцами требуется чтобы макрос автоматически выделял рамкой требуемые строки в указанном диапазоне. Пробовал так но вручную вбивать диапазоны каждых 16 строк как то не совсем правильно.
[vba]
Код
[/code]Range("b3:H18,B19:H35").Activate
Selection.Borders(xlDiagonalDown).LineStyle = xlNone Selection.Borders(xlDiagonalUp).LineStyle = xlNone With Selection.Borders(xlEdgeLeft) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlMedium End With With Selection.Borders(xlEdgeTop) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlMedium End With With Selection.Borders(xlEdgeBottom) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlMedium End With With Selection.Borders(xlEdgeRight) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlMedium End With Selection.Borders(xlInsideVertical).LineStyle = xlNone Selection.Borders(xlInsideHorizontal).LineStyle = xlNone[code]
Добрый день. Без файла-примера не всегда понятен замысел) попробуйте так [vba]
Код
For r=3 to 16*4 step 16 ' без файла непонятно сколько циклов With Range(Cells(r,2), cells(r+15,8)).Borders .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlMedium End With Next
[/vba] Upd. Не прочитал название темы, цикл нужен, изменил код
Добрый день. Без файла-примера не всегда понятен замысел) попробуйте так [vba]
Код
For r=3 to 16*4 step 16 ' без файла непонятно сколько циклов With Range(Cells(r,2), cells(r+15,8)).Borders .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlMedium End With Next
[/vba] Upd. Не прочитал название темы, цикл нужен, изменил кодsboy
Яндекс: 410016850021169
Сообщение отредактировал sboy - Понедельник, 22.01.2018, 12:13
Добрый день, спасибо Вам за отзывчивость, я приложил файлик пример того что требуется. Если вы его просмотрите буду очень признателен. Сейчас ковыряюсь с Вашим кодом может быть сам что нибудь сделаю. Еще раз спасибо.
Добрый день, спасибо Вам за отзывчивость, я приложил файлик пример того что требуется. Если вы его просмотрите буду очень признателен. Сейчас ковыряюсь с Вашим кодом может быть сам что нибудь сделаю. Еще раз спасибо.unw
Сообщение отредактировал unw - Понедельник, 22.01.2018, 13:03
Sub brd() For r = 2 To 17 Step 15 With Range(Cells(r, 2), Cells(r + 15, 8)) With .Borders .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlMedium End With .Borders(xlInsideHorizontal).LineStyle = xlNone .Borders(xlInsideVertical).LineStyle = xlNone End With Next End Sub
[/vba]
По файлу примеру, можно так [vba]
Код
Sub brd() For r = 2 To 17 Step 15 With Range(Cells(r, 2), Cells(r + 15, 8)) With .Borders .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlMedium End With .Borders(xlInsideHorizontal).LineStyle = xlNone .Borders(xlInsideVertical).LineStyle = xlNone End With Next End Sub