Страница: 1 |
Страница: 1 |
Вопрос: Копирование ячеек/диапазонов
Добавлено: 10.08.06 10:53
Автор вопроса: aht
Добрый день.
Столкнулся с проблемой:
есть две открытые книги. На первой находится таблица, на листе второй - таже таблица, но ячейки объединены по столбцам. Как можно скопировать данные из ячеек первой книги во вторую? Т.е., например, я выделяю столбец в первой книге, копирую, выделяю такой же диапазон, но объединенных ячеек и вставляю, но ячейки при этом разбиваются.
Ответы
Всего ответов: 4
Номер ответа: 1
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #1
Добавлено: 10.08.06 11:28
Если всё так, как описано, то надо серьёзно пересмотреть своё отношение к "на листе второй - таже таблица", потому что это две разные и совсем не те же таблицы.
Номер ответа: 2
Автор ответа:
aht
Вопросов: 2
Ответов: 4
Профиль | | #2
Добавлено: 10.08.06 12:00
м-да, действительно. Ок. Дубль №2
Значит есть два файла, в каждом по одному листу. На листе книги 1 есть табличка 1 (далее просто таб.1), на листе книги 2 есть структура (пусть это будет таб.2). Необходимо скопировать данные (таб.1) в структуру (таб.2). Проблема заключается в следующем: в таб.1, предположим, N полей, столько же и в таб.2, но в таб.2 одно поле - это несколько столбцов ("объединенные ячейки". Каким образом можно без изменения таб.2 (имеется ввиду отмена объединения ячеек и пр., т.е. форматирования) вставить данные из таб.1
ЗЫ. Пока нашел один способ - это специальная вставка - формулы.
ЗЫЫ. Формул никаких в таб.1 и таб.2 нет.
Номер ответа: 3
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #3
Добавлено: 10.08.06 16:02
Set r1 = Range("b5:d8"
Set r2 = Range("f5:k8"
For i = 1 To r1.Rows.Count
Set c = r2.Cells(i, 1).MergeArea
For j = 1 To r1.Columns.Count
r1.Cells(i, j).Copy c
Set c = c.Cells(c.Cells.Count).Offset(0, 1).MergeArea
Next
Next
Номер ответа: 4
Автор ответа:
aht
Вопросов: 2
Ответов: 4
Профиль | | #4
Добавлено: 10.08.06 16:29
пасибо большое