Как объединить ячейки Excel ???

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
homak
Постоянный обитатель
Сообщения: 144
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Красноярский Край
Контактная информация:

Как объединить ячейки Excel ???

Сообщение homak »

Есть задачка … объединить несколько ячеек в Excel находящихся в одной строке в одну. Сложность в том, что ячейки уже заполнены текстовой информацией, и при «стандартном» объединении остается только текстовка с 1-ой ячейки :( .

………………. Или может есть возможность дописывать в одну ячейку текстовку – а не перезаписывать её как при стандартном «xlStWriteToMatrix» ??? …

………………. Проблема в том что «xlStWriteToMatrix» дает возможность записать только 255 символов, а мне требуется писать до 500 символов в одну ячейку. :)
Juve
Постоянный гость
Сообщения: 60
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Контактная информация:

Сообщение Juve »

Я стараюсь обходиться макросами. Что-то типа:

Код: Выделить всё

sfile:='c:\'+USERNAME+'.bas';
  DeleteFile(sfile);
  LogStrToFile(sfile,'Sub MyMacros()');
  LogStrToFile(sfile,'... ТЕКСТ ПРОЦЕДУРЫ  ...');
  LogStrToFile(sfile,'End Sub');
  xlImportModule(sfile);
  DeleteFile(sfile);
  xlRunMacro('MyMacros');
может и Вам подойдет
homak
Постоянный обитатель
Сообщения: 144
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Красноярский Край
Контактная информация:

Сообщение homak »

2 Juve
Может есть "живой" примерчик оьъединения ячеек ?
я в VBA ничего не понимаю :(

Пока выкрутился вот так ... но не совсем "красиво" это ..

Код: Выделить всё

xlStWriteToMatrix(j, 11,'=СЦЕПИТЬ(L' + String(i)+
                                ';M' + String(i)+
                                ';N' + string(i) +
                                ';O' + string(i) +
                                ';P' + string(i) +
                                ';Q' + string(i) +
                                ';R' + string(i) +
                                ';S' + string(i) +
                                ';T' + string(i) +
                                ';U' + string(i) +
                                ';V' + string(i) +
                                ';W' + string(i) +
                                ';X' + string(i) +                        
                                ';Y' + string(i) +
                                ';Z' + string(i) +
                                                ')');
Juve
Постоянный гость
Сообщения: 60
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Контактная информация:

Сообщение Juve »

Я тоже не VBA мастер. Обычно делаю так:

1. Выгружаю данные в excel.
2. В самом excel`е включаю запись макроса.
3. Ручками делаю то чего хочу в итоге получить.
4. Останавливаю запись.
5. Смотрю код макроса, лишнее выкидываю, остальное цепляю в код галки. Ну, разумеется, там же (внутри галки) можно динамично менять какие-то параметры этого мега-макроса....
Ответить