SGerman
Дата: Воскресенье, 10.07.2016, 14:34 |
Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 97
Репутация:
4
±
Замечаний:
20% ±
Excel 2003
Здравствуйте ! Есть некоторая ячейка - образец Задача - сделать все ячейки некоторого диапазона такими же, как образец (очертания, цвет, фонт и т.д.) "Ручным способом" (используя код "магнитофона") написал такое (в rng ячейка-образец): [vba]Код
Selection.Borders(xlEdgeLeft).LineStyle = rng.Borders(xlEdgeLeft).LineStyle Selection.Borders(xlEdgeLeft).Weight = rng.Borders(xlEdgeLeft).Weight Selection.Borders(xlEdgeLeft).ColorIndex = rng.Borders(xlEdgeLeft).ColorIndex Selection.Borders(xlEdgeTop).LineStyle = rng.Borders(xlEdgeTop).LineStyle Selection.Borders(xlEdgeTop).Weight = rng.Borders(xlEdgeTop).Weight Selection.Borders(xlEdgeTop).ColorIndex = rng.Borders(xlEdgeTop).ColorIndex Selection.Borders(xlEdgeBottom).LineStyle = rng.Borders(xlEdgeBottom).LineStyle Selection.Borders(xlEdgeBottom).Weight = rng.Borders(xlEdgeBottom).Weight Selection.Borders(xlEdgeBottom).ColorIndex = rng.Borders(xlEdgeBottom).ColorIndex Selection.Borders(xlEdgeRight).LineStyle = rng.Borders(xlEdgeRight).LineStyle Selection.Borders(xlEdgeRight).Weight = rng.Borders(xlEdgeRight).Weight Selection.Borders(xlEdgeRight).ColorIndex = rng.Borders(xlEdgeRight).ColorIndex 'Selection.Borders(xlInsideVertical).LineStyle = rng.Borders(xlInsideVertical).LineStyle 'Selection.Borders(xlInsideVertical).Weight = rng.Borders(xlInsideVertical).Weight 'Selection.Borders(xlInsideVertical).ColorIndex = rng.Borders(xlInsideVertical).ColorIndex 'Selection.Borders(xlInsideHorizontal).LineStyle = rng.Borders(xlInsideHorizontal).LineStyle 'Selection.Borders(xlInsideHorizontal).Weight = rng.Borders(xlInsideHorizontal).Weight 'Selection.Borders(xlInsideHorizontal).ColorIndex = rng.Borders(xlInsideHorizontal).ColorIndex
[/vba] (Кстати первый закомментареннй блок не работает, если в rng - одна ячейка или колонка, а второй - если одна ячейка или строка) Все работает. А можно ли все одной строкой ? Ну что-то типа [vba]Код
Selection.Borders = rng.Borders
[/vba] или [vba]Код
Set Selection.Borders = rng.Borders
[/vba] Однако обе строчки ошибочные Спасибо за помощь и участие
Здравствуйте ! Есть некоторая ячейка - образец Задача - сделать все ячейки некоторого диапазона такими же, как образец (очертания, цвет, фонт и т.д.) "Ручным способом" (используя код "магнитофона") написал такое (в rng ячейка-образец): [vba]Код
Selection.Borders(xlEdgeLeft).LineStyle = rng.Borders(xlEdgeLeft).LineStyle Selection.Borders(xlEdgeLeft).Weight = rng.Borders(xlEdgeLeft).Weight Selection.Borders(xlEdgeLeft).ColorIndex = rng.Borders(xlEdgeLeft).ColorIndex Selection.Borders(xlEdgeTop).LineStyle = rng.Borders(xlEdgeTop).LineStyle Selection.Borders(xlEdgeTop).Weight = rng.Borders(xlEdgeTop).Weight Selection.Borders(xlEdgeTop).ColorIndex = rng.Borders(xlEdgeTop).ColorIndex Selection.Borders(xlEdgeBottom).LineStyle = rng.Borders(xlEdgeBottom).LineStyle Selection.Borders(xlEdgeBottom).Weight = rng.Borders(xlEdgeBottom).Weight Selection.Borders(xlEdgeBottom).ColorIndex = rng.Borders(xlEdgeBottom).ColorIndex Selection.Borders(xlEdgeRight).LineStyle = rng.Borders(xlEdgeRight).LineStyle Selection.Borders(xlEdgeRight).Weight = rng.Borders(xlEdgeRight).Weight Selection.Borders(xlEdgeRight).ColorIndex = rng.Borders(xlEdgeRight).ColorIndex 'Selection.Borders(xlInsideVertical).LineStyle = rng.Borders(xlInsideVertical).LineStyle 'Selection.Borders(xlInsideVertical).Weight = rng.Borders(xlInsideVertical).Weight 'Selection.Borders(xlInsideVertical).ColorIndex = rng.Borders(xlInsideVertical).ColorIndex 'Selection.Borders(xlInsideHorizontal).LineStyle = rng.Borders(xlInsideHorizontal).LineStyle 'Selection.Borders(xlInsideHorizontal).Weight = rng.Borders(xlInsideHorizontal).Weight 'Selection.Borders(xlInsideHorizontal).ColorIndex = rng.Borders(xlInsideHorizontal).ColorIndex
[/vba] (Кстати первый закомментареннй блок не работает, если в rng - одна ячейка или колонка, а второй - если одна ячейка или строка) Все работает. А можно ли все одной строкой ? Ну что-то типа [vba]Код
Selection.Borders = rng.Borders
[/vba] или [vba]Код
Set Selection.Borders = rng.Borders
[/vba] Однако обе строчки ошибочные Спасибо за помощь и участие SGerman
Мудрость приходит со старостью. Но иногда старость приходит одна :)
Ответить
Сообщение Здравствуйте ! Есть некоторая ячейка - образец Задача - сделать все ячейки некоторого диапазона такими же, как образец (очертания, цвет, фонт и т.д.) "Ручным способом" (используя код "магнитофона") написал такое (в rng ячейка-образец): [vba]Код
Selection.Borders(xlEdgeLeft).LineStyle = rng.Borders(xlEdgeLeft).LineStyle Selection.Borders(xlEdgeLeft).Weight = rng.Borders(xlEdgeLeft).Weight Selection.Borders(xlEdgeLeft).ColorIndex = rng.Borders(xlEdgeLeft).ColorIndex Selection.Borders(xlEdgeTop).LineStyle = rng.Borders(xlEdgeTop).LineStyle Selection.Borders(xlEdgeTop).Weight = rng.Borders(xlEdgeTop).Weight Selection.Borders(xlEdgeTop).ColorIndex = rng.Borders(xlEdgeTop).ColorIndex Selection.Borders(xlEdgeBottom).LineStyle = rng.Borders(xlEdgeBottom).LineStyle Selection.Borders(xlEdgeBottom).Weight = rng.Borders(xlEdgeBottom).Weight Selection.Borders(xlEdgeBottom).ColorIndex = rng.Borders(xlEdgeBottom).ColorIndex Selection.Borders(xlEdgeRight).LineStyle = rng.Borders(xlEdgeRight).LineStyle Selection.Borders(xlEdgeRight).Weight = rng.Borders(xlEdgeRight).Weight Selection.Borders(xlEdgeRight).ColorIndex = rng.Borders(xlEdgeRight).ColorIndex 'Selection.Borders(xlInsideVertical).LineStyle = rng.Borders(xlInsideVertical).LineStyle 'Selection.Borders(xlInsideVertical).Weight = rng.Borders(xlInsideVertical).Weight 'Selection.Borders(xlInsideVertical).ColorIndex = rng.Borders(xlInsideVertical).ColorIndex 'Selection.Borders(xlInsideHorizontal).LineStyle = rng.Borders(xlInsideHorizontal).LineStyle 'Selection.Borders(xlInsideHorizontal).Weight = rng.Borders(xlInsideHorizontal).Weight 'Selection.Borders(xlInsideHorizontal).ColorIndex = rng.Borders(xlInsideHorizontal).ColorIndex
[/vba] (Кстати первый закомментареннй блок не работает, если в rng - одна ячейка или колонка, а второй - если одна ячейка или строка) Все работает. А можно ли все одной строкой ? Ну что-то типа [vba]Код
Selection.Borders = rng.Borders
[/vba] или [vba]Код
Set Selection.Borders = rng.Borders
[/vba] Однако обе строчки ошибочные Спасибо за помощь и участие Автор - SGerman Дата добавления - 10.07.2016 в 14:34
Manyasha
Дата: Воскресенье, 10.07.2016, 17:04 |
Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация:
898
±
Замечаний:
0% ±
Excel 2010, 2016
SGerman , а скопировать формат с этой ячейки не подойдет? [vba]Код
[a5].Copy Range("a10:c20").PasteSpecial Paste:=xlPasteFormats
[/vba]
SGerman , а скопировать формат с этой ячейки не подойдет? [vba]Код
[a5].Copy Range("a10:c20").PasteSpecial Paste:=xlPasteFormats
[/vba]Manyasha
ЯД: 410013299366744 WM: R193491431804
Ответить
Сообщение SGerman , а скопировать формат с этой ячейки не подойдет? [vba]Код
[a5].Copy Range("a10:c20").PasteSpecial Paste:=xlPasteFormats
[/vba]Автор - Manyasha Дата добавления - 10.07.2016 в 17:04
SGerman
Дата: Понедельник, 11.07.2016, 01:32 |
Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 97
Репутация:
4
±
Замечаний:
20% ±
Excel 2003
Спасибо, попробую
Мудрость приходит со старостью. Но иногда старость приходит одна :)
Ответить
Сообщение Спасибо, попробую Автор - SGerman Дата добавления - 11.07.2016 в 01:32
SGerman
Дата: Вторник, 12.07.2016, 11:22 |
Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 97
Репутация:
4
±
Замечаний:
20% ±
Excel 2003
Маша, как обычно, Ваш совет оказался почти идеальным :) Есть, правда, один недостаток в этой технологии: вместе с цветом, окантовкой, шрифтом и прочим нужным барахлом в целевые ячейки переносится и выравнивание, что в итоге сбрасывает те, что установлены пользователем вручную (как ему типа удобно). Можно, конечно, ограничиться только цветом (возможно, так в итоге и будет), но это такое Спасибо большое
Маша, как обычно, Ваш совет оказался почти идеальным :) Есть, правда, один недостаток в этой технологии: вместе с цветом, окантовкой, шрифтом и прочим нужным барахлом в целевые ячейки переносится и выравнивание, что в итоге сбрасывает те, что установлены пользователем вручную (как ему типа удобно). Можно, конечно, ограничиться только цветом (возможно, так в итоге и будет), но это такое Спасибо большое SGerman
Мудрость приходит со старостью. Но иногда старость приходит одна :)
Ответить
Сообщение Маша, как обычно, Ваш совет оказался почти идеальным :) Есть, правда, один недостаток в этой технологии: вместе с цветом, окантовкой, шрифтом и прочим нужным барахлом в целевые ячейки переносится и выравнивание, что в итоге сбрасывает те, что установлены пользователем вручную (как ему типа удобно). Можно, конечно, ограничиться только цветом (возможно, так в итоге и будет), но это такое Спасибо большое Автор - SGerman Дата добавления - 12.07.2016 в 11:22
SGerman
Дата: Вторник, 12.07.2016, 11:43 |
Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 97
Репутация:
4
±
Замечаний:
20% ±
Excel 2003
Manyasha , А Вы, оказывается, не Маняша, не Маша, и никакая не Марфа Ивановна, я узнал,- что Вы - Марина ! Простите великодушно, что не сразу "вычислил". Марина - чудесное имя. Возможно, я посвящу ему (и Вам персонально конечно) оду ! Извиняюсь за офтоп, но не смог удержаться
Manyasha , А Вы, оказывается, не Маняша, не Маша, и никакая не Марфа Ивановна, я узнал,- что Вы - Марина ! Простите великодушно, что не сразу "вычислил". Марина - чудесное имя. Возможно, я посвящу ему (и Вам персонально конечно) оду ! Извиняюсь за офтоп, но не смог удержаться SGerman
Мудрость приходит со старостью. Но иногда старость приходит одна :)
Ответить
Сообщение Manyasha , А Вы, оказывается, не Маняша, не Маша, и никакая не Марфа Ивановна, я узнал,- что Вы - Марина ! Простите великодушно, что не сразу "вычислил". Марина - чудесное имя. Возможно, я посвящу ему (и Вам персонально конечно) оду ! Извиняюсь за офтоп, но не смог удержаться Автор - SGerman Дата добавления - 12.07.2016 в 11:43