Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 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
  Dim r1 As Range, r2 As Range, i As Long, j As Long, c As Range
  
  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
пасибо большое

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам