Модераторы: mihanik

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вставка таблицы в Excel 
:(
    Опции темы
Plavozont
Дата 2.9.2009, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 182
Регистрация: 14.4.2008

Репутация: нет
Всего: нет



Подскажите пожалуйста, такая ситуация: когда например вводишь в notepad подобного рода текст:
1-->2-->3
4-->5-->6
7-->8-->9

(-->) это знаки табуляции

Копируешь его и вставляешь в Excel циферки удобненько располагаются в отдельных ячейках.
Существует ли способ через VBA вставить в Excel такого же рода строку:

"1" & chr(9) & "2" & chr(9) & "3" & chr(10) &_
"4" & chr(9) & "5" & chr(9) & "6" & chr(10) &_
"7" & chr(9) & "8" & chr(9) & "9"

и чтобы произошло тоже самое.

Через ActiveSell.FormulaR1C1 когда вставляешь всё затрамбовывается в одну ячейку. Получается трёхстрочный текст и вопросики в квадратике вместо знаков табуляции.

Только мне надо способ без буфера обмена какой-нибудь
--------------------
Fortunately, the circumstances under which those words are useful run out at a relatively low level of multiplicity.
PM MAIL   Вверх
Akina
Дата 2.9.2009, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



А как была получена "такого рода строка"? 


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Plavozont
Дата 2.9.2009, 18:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 182
Регистрация: 14.4.2008

Репутация: нет
Всего: нет



Чиво ?

ActiveSell.FormulaR1C1 = "1" & chr(9) & "2" & chr(9) & "3" & chr(10) & "4" & chr(9) & "5" & chr(9) & "6" & chr(10) & "7" & chr(9) & "8" & chr(9) & "9"

chr(9) - TAB
chr(10) - Enter

при вставке табы Excel воспринимает как переход на ячейку влево, а энтеры на строку вниз...

user posted image
--------------------
Fortunately, the circumstances under which those words are useful run out at a relatively low level of multiplicity.
PM MAIL   Вверх
RockClimber
Дата 3.9.2009, 08:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 848
Регистрация: 5.5.2006
Где: планета 013 в тен туре

Репутация: 7
Всего: 15



Цитата(Plavozont @  2.9.2009,  12:51 Найти цитируемый пост)
Только мне надо способ без буфера обмена какой-нибудь

Без буфера обмена - только парсить ручками... Посимвольно, в цикле...


--------------------
Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит.
PM MAIL GTalk   Вверх
Plavozont
Дата 3.9.2009, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 182
Регистрация: 14.4.2008

Репутация: нет
Всего: нет



Глупый Excel  smile
--------------------
Fortunately, the circumstances under which those words are useful run out at a relatively low level of multiplicity.
PM MAIL   Вверх
RockClimber
Дата 3.9.2009, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 848
Регистрация: 5.5.2006
Где: планета 013 в тен туре

Репутация: 7
Всего: 15



Plavozont, забыл, есть функция "текст по столбцам" (меню "Данные"). Но по строкам придется самостоятельно...


--------------------
Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит.
PM MAIL GTalk   Вверх
Plavozont
Дата 3.9.2009, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 182
Регистрация: 14.4.2008

Репутация: нет
Всего: нет



А как через VBA его вставить !!! smile smile

Это сообщение отредактировал(а) Plavozont - 3.9.2009, 16:44
--------------------
Fortunately, the circumstances under which those words are useful run out at a relatively low level of multiplicity.
PM MAIL   Вверх
Akina
Дата 3.9.2009, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



Загнать в массив и использовать Application.Transpose


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Plavozont
Дата 3.9.2009, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 182
Регистрация: 14.4.2008

Репутация: нет
Всего: нет



Обязятельно прверю, как выпаду в осадок, сообщу !

Это сообщение отредактировал(а) Plavozont - 3.9.2009, 20:52
--------------------
Fortunately, the circumstances under which those words are useful run out at a relatively low level of multiplicity.
PM MAIL   Вверх
Plavozont
Дата 7.9.2009, 07:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 182
Регистрация: 14.4.2008

Репутация: нет
Всего: нет



Ну вот, это не то Application.Transpose из Excel'я в массив загоняет, а мне бы из массива в Excel'ь
--------------------
Fortunately, the circumstances under which those words are useful run out at a relatively low level of multiplicity.
PM MAIL   Вверх
Akina
Дата 7.9.2009, 07:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



Цитата(Plavozont @  7.9.2009,  08:02 Найти цитируемый пост)
это не то Application.Transpose из Excel'я в массив загоняет, а мне бы из массива в Excel'ь 

Нет. Он и вправду загоняет в массив (из Range или другого массива). Но есть одна приятность - полученный таким образом массив пригоден для прямого присвоения в Range.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Plavozont
Дата 9.9.2009, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 182
Регистрация: 14.4.2008

Репутация: нет
Всего: нет



Ответ супер! Я и не знал что Range'у можно массивы присваивать ! Это то то что мне нужно и было бы, только вот из javascript'а массив присвоить к Excel'евскому Range'у врядли возможно :( Пока только из буфера обмена вставлять.
--------------------
Fortunately, the circumstances under which those words are useful run out at a relatively low level of multiplicity.
PM MAIL   Вверх
Akina
Дата 9.9.2009, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



Цитата(Plavozont @  9.9.2009,  13:13 Найти цитируемый пост)
из javascript'а массив присвоить к Excel'евскому Range'у врядли возможно

Это ещё почему? Excel.Application не зависит от языка программирования, и ему сиренево кто им рулит.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Plavozont
Дата 22.9.2009, 08:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 182
Регистрация: 14.4.2008

Репутация: нет
Всего: нет



Просто в javascript'е очень экзотично массивы структурируются. Если в VBA двухмерный массив - это и есть двухмерный массив и обращаться к нему можно только так: arr(m,n), то в JavaScript двухмерный массив - это одномерный массив одномерных массивов. Т.е. сначала создаётся одномерный массив arr1D[m] а потом каждый элемент этого массива декларируется как одномерный массив, т.е. arr1D[0]=Array[n], arr1D[1]=Array[n], arr1D[2]=Array[n], ... arr1D[m]=Array[n]. И обращение к такому массиву происходит так: arr1D[m][n] а не arr1D[m, n] как могло бы показаться. Т.е. в JavaScript'е таким образом можно хоть пятисот мерный массив создать. Естественно, что Excel'ю от такой структуры башню сносит и ничего у него не получается.
--------------------
Fortunately, the circumstances under which those words are useful run out at a relatively low level of multiplicity.
PM MAIL   Вверх
RockClimber
Дата 22.9.2009, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 848
Регистрация: 5.5.2006
Где: планета 013 в тен туре

Репутация: 7
Всего: 15



Plavozont, двухмерный массив - это всегда одномерный массив одномерных массивов, хотя бы потому, что адресация памяти линейна. И пятисотмерный массив можно не только в javascript'e создать. Вот тут в третьем посте сверху есть делфийский код, как сделать быстрый экспорт в Excel сразу куском массива. У меня этот код работает давно, быстро и качественно. Попробуйте на js перевести, вдруг получится.


--------------------
Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит.
PM MAIL GTalk   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0547 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.