Скопируйте содержимое строки и форматирование (на другой лист) - PullRequest
7 голосов
/ 06 февраля 2012

Что мне нужно, так это скопировать содержимое всей строки и форматирование на другой лист.

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

На данный момент у меня есть следующее: (это прекрасно работает для клеток на одном листе)

Range(Cells(45, 2), Cells(45, 3)).Copy Range(Cells(50, 2), Cells(50, 3))

ОднакоЯ пытаюсь сделать это с одного листа на другой.(Скопируйте из листа 'Front_Page' в 'vg').Я пытался использовать следующее, очевидно, это не работает, но может кто-нибудь сказать, пожалуйста, что я делаю не так?

Range.Worksheet("Front_Page").Range(Cells(45, 2), Cells(45, 3)).Copy Worksheet("vg").Range(Cells(50, 2), Cells(50, 3))

Ответы [ 2 ]

1 голос
/ 24 сентября 2014

Похоже, вы пытаетесь скопировать ячейки из "Front_Pages" в "vg", так как вы используете "ячейки" внутри "диапазона"

Диапазон (ячейки ...).

Если это так, вы можете просто изменить формат ячейки как общий диапазон Excel; попробуйте этот код:

Sheets("vg").Range("B5") = Sheets("Front_Pages").Range("B4")
Sheets("vg").Range("C5") = Sheets("Front_Pages").Range("C4")
0 голосов
/ 06 июня 2014

Cells относится к ячейкам активного листа. Таким образом вы получаете ошибку: vg не активный лист. Указание ячеек другого листа в качестве параметров для объекта Range всегда приводит к ошибке. Это будет работать:

Worksheets("Front_Page").Range(Worksheets("Front_Page").Cells(45, 2), Worksheets("Front_Page").Cells(45, 3)).Copy Worksheets("vg").Range(Worksheets("vg").Cells(50, 2), Worksheets("vg").Cells(50, 3))

Однако, его можно оптимизировать до:

Worksheets("Front_Page").Range("B45:C45").Copy Worksheets("vg").Range("B50:C50")

Также обратите внимание, что Worksheet("vg") не работает, его следует заменить на Worksheets("vg"), иначе это также приведет к ошибке.

Чтобы скопировать всю строку, используйте:

Worksheets("Front_Page").Rows("45:45").Copy Worksheets("vg").Rows("50:50")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...