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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ввод переменных в ячейки Excel, Ввести из textbox в несколько ячеек 
:(
    Опции темы
kminas
Дата 21.4.2006, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Можно ли и как в textbox VB ввести текст и считать его в несколько последовательно расположенных ячеек Excel. Уточняю.    
Есть почти готовая программка с макросами (текстом с переменными) для заполнения таблиц в Excel-е, но возможен вариант, когда этот текст потребуется заменить другим, заранее неизвестным, который может занять несколько ячеек в одном столбце. Можно ли считать этот текст и разделить его по ячейкам или может быть это можно сделать  каким-то другим способом? 
PM MAIL   Вверх
cardinal
Дата 21.4.2006, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

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



Модератор: Перенесено из VB6. 


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Staruha
Дата 21.4.2006, 20:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1292
Регистрация: 1.2.2004
Где: Казань

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



Cardinal  зря переместил тему. Человек хочет из VB скинуть текст в xl. А раскидать можно,если текст принять за массив.Один элемент массива равен одной ячейке 


--------------------
Возмездие настигнет
PM MAIL   Вверх
kminas
Дата 21.4.2006, 21:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



А как найти начало и конец элемента массива? По количеству знаков?  

Это сообщение отредактировал(а) kminas - 21.4.2006, 21:32
PM MAIL   Вверх
cardinal
Дата 22.4.2006, 00:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

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



Цитата(Staruha @  21.4.2006,  18:31 Найти цитируемый пост)
Cardinal  зря переместил тему. 

Возможно в этот раз поторопился, если что давай тему назад. smile  


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
kminas
Дата 22.4.2006, 08:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



cardinal, а как отыграть назад? Чувствую, что нет, наверно, простого решения. Еще на 3-х форумах тема зависла... 
PM MAIL   Вверх
cardinal
Дата 22.4.2006, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

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



Ты работашь во встроенном редакторе VB в Excel или ты хочешь незавимую от Excel программку на VB, которая открывает твой .xls документ и делает нужные поправки?
Цитата(kminas @  22.4.2006,  06:30 Найти цитируемый пост)
cardinal, а как отыграть назад? 

Местного модератора попросить, но я еще точно не уверен, что это надо делать. 


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Staruha
Дата 22.4.2006, 20:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1292
Регистрация: 1.2.2004
Где: Казань

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



Цитата

Чувствую, что нет, наверно, простого решения.

  smile С xl работают многие программы, VB подавно.Пошарь на форуме именно на VB через поиск. Введи xl или Aplication. 


--------------------
Возмездие настигнет
PM MAIL   Вверх
kminas
Дата 22.4.2006, 21:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(cardinal @ 22.4.2006,  14:05)
Ты работашь во встроенном редакторе VB в Excel или ты хочешь незавимую от Excel программку на VB, которая открывает твой .xls документ и делает нужные поправки?

Я написал (хочу дописать) независимую от Excel программку на VB, которая открывает .xls документ (таблицу) в которую надо поместить заранее подготовленный текст. Но бывают случаи, что текст заранее неизвестен и я хочу, чтобы пользователь, не переключаясь в Excel, вводил информацию в форме VB (если с этим не будет большой мороки). Но, если это сложно, то пусть набирает в Excel-е.  

Это сообщение отредактировал(а) kminas - 22.4.2006, 21:13
PM MAIL   Вверх
cardinal
Дата 23.4.2006, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

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



Попробуй так
Код

Private Sub Command1_Click()
Dim Excel As Object
On Error GoTo 100
Set Excel = CreateObject("Excel.application")
With Excel
    .Workbooks.Add
    .Visible = True
    .Range("A1").Select
    .Selection.Merge
    .ActiveCell.FormulaR1C1 = Text1.Text
100 .ActiveWindow.SelectedSheets.PrintPreview
End With
Excel.Quit
Set Excel = Nothing
End Sub
 


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
kminas
Дата 23.4.2006, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Спасибо, попробую привязать к своей проге. 
PM MAIL   Вверх
kminas
Дата 25.4.2006, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



К сожалению, не получилось. Пишет все в одной ячейке. Пробовал я вставить
Код
.Columns.ColumnWidth = 12
 текст переносится, но просто расширяет ячейку вниз. Буду пробовать дальше.
 
PM MAIL   Вверх
Staruha
Дата 25.4.2006, 19:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1292
Регистрация: 1.2.2004
Где: Казань

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



Вместо Range(A1) цикл надо запустить. 


--------------------
Возмездие настигнет
PM MAIL   Вверх
kminas
Дата 25.4.2006, 20:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Я, в общем это тоже предолагал, но еще слаб в массивах. Спасибо, буду изучать. 
PM MAIL   Вверх
cardinal
Дата 25.4.2006, 20:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

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



Я пока не понял причем здесь массивы. Изучать тут особо нечего. Если сделать совсем по простому, то можно так
Код

Option Explicit

Private Sub Command1_Click()
Dim Excel As Object
Dim i As Integer
On Error GoTo 100
Set Excel = CreateObject("Excel.application")
With Excel
    .Workbooks.Add
    .Visible = True
    For i = 1 To 5
        .Range("A" & i).Select
        .Selection.Merge
        .ActiveCell.FormulaR1C1 = Text1.Text
    Next
100 .ActiveWindow.SelectedSheets.PrintPreview
End With
Excel.Quit
Set Excel = Nothing
End Sub
 


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

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

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

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

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



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


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

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


 




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


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

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