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

Поиск:

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


Бывалый
*


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

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



Опять немного не то. Просто копируется один и тот же текст 5 раз. 
Здесь, по-моему, должны быть как-то задействованы функции Left или Mid. А, строки 7,17 и 19, по-моему, лишние.   
И еще хорошая функция Split, но не знаю куда ее всунуть?! Мало практических знаний. 

Это сообщение отредактировал(а) kminas - 25.4.2006, 22:05
PM MAIL   Вверх
cardinal
Дата 25.4.2006, 22:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


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

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



Ну держи пример с функцией Split
Код

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 3
        .Range("A" & i).Select
        .Selection.Merge
        .ActiveCell.FormulaR1C1 = Split(Text1.Text)(i - 1)
    Next
100 .ActiveWindow.SelectedSheets.PrintPreview
End With
Excel.Quit
Set Excel = Nothing
End Sub

Строки 7 и 17 возможно и лишние, а вот насчет 19 не уверен... 


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

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


Бывалый
*


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

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



Мне выходить из Excel не надо после этой процедуры... 
PM MAIL   Вверх
kminas
Дата 25.4.2006, 23:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Сдвинулось. А как эта функция работает? Она переносит по пробелу. А есть ли в Excel'e такая функция, которая считает количество знаков, скажем, например, переносить после 30-го знака. 
PM MAIL   Вверх
cardinal
Дата 26.4.2006, 01:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


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

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



Цитата(kminas @  25.4.2006,  22:50 Найти цитируемый пост)
Она переносит по пробелу.

Не совсем. MSDN читай!
Цитата(MSDN)

Split Function
      

Description

Returns a zero-based, one-dimensionalarray containing a specified number of substrings.

Syntax

Split(expression[, delimiter[, count[, compare]]])

The Split function syntax has these parts:

Part Description 
expression Required.String expression containing substrings and delimiters. If expression is a zero-length string(""), Split returns an empty array, that is, an array with no elements and no data. 
delimiter Optional. String character used to identify substring limits. If omitted, the space character (" ") is assumed to be the delimiter. If delimiter is a zero-length string, a single-element array containing the entire expression string is returned. 
count Optional. Number of substrings to be returned; –1 indicates that all substrings are returned. 
compare Optional. Numeric value indicating the kind of comparison to use when evaluating substrings. See Settings section for values. 


Settings

The compare argument can have the following values:

Constant Value Description 
vbUseCompareOption –1 Performs a comparison using the setting of the Option Compare statement. 
vbBinaryCompare 0 Performs a binary comparison. 
vbTextCompare 1 Performs a textual comparison. 
vbDatabaseCompare 2 Microsoft Access only. Performs a comparison based on information in your database. 
 


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

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


Бывалый
*


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

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



Спасибо большое, но у меня, практически (если не дословно-не сличал), весь перевод этого help'а В.Г.Кузьменко Visual Basic 6. Но, к сожалению, как и говорил, я еще плохо соображаю в массивах, а поучить лично - некому. Массивы же, по-моему, это очень объемный и многоуровневый объект VB. Я трудно обучаем по книгам. Или личное общение или метод тыка. Книги только для разъяснения и углубления уже нащупанного. Так что буду искать и изучать массивы. Спасибо.  
PM MAIL   Вверх
Staruha
Дата 26.4.2006, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Cardinal наверно хотел сказать.
 Split(массив,разделитель)
 Так что если хочешь что бы после 30 знака разделялся, значит после 30 знака нужно ставить какой то уникальный знак. Так что получается ,что с обрезкой метод больше подходит  

Это сообщение отредактировал(а) Staruha - 26.4.2006, 20:33


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


Бывалый
*


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

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



Я не пойму как эта функция определяет конец одного элемента массива? 
PM MAIL   Вверх
cardinal
Дата 26.4.2006, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


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

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



Split(строка,разделитель) 


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

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


Бывалый
*


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

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



А где можно прочитать, что может быть разделителем? 
PM MAIL   Вверх
cardinal
Дата 26.4.2006, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


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

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





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

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


Бывалый
*


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

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



Спасибо! 
PM MAIL   Вверх
sadero
Дата 1.2.2007, 08:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Разрешите попутный вопрос.
Как выйти мз режима PrintPreview программным способом?
PM MAIL   Вверх
mihanik
Дата 1.2.2007, 09:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

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



Модератор: Пожалуйста, один топик - один вопрос.

Добавлено @ 09:21 
sadero, 
Цитата(sadero @  1.2.2007,  08:05 Найти цитируемый пост)
Как выйти мз режима PrintPreview программным способом? 


А зачем заходить? Чтобы потом искать способ выйти?  smile 

Маленько переделал код, который предложил cardinal...

Код

Private Sub Command1_Click()
Dim Excel As Object
Dim i As Integer
On Error GoTo MyError
Set Excel = CreateObject("Excel.application")
With Excel
    .Workbooks.Add
    .Visible = True
    For i = 1 To 3
        .Range("A" & i).Select
        .Selection.Merge
        .ActiveCell.FormulaR1C1 = Split(Text1.Text)(i - 1)
    Next
MyError:
End With
' Excel.Quit - закоментировал  строку, заставляющую xl завершать работу...
Set Excel = Nothing
End Sub




--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

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

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

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



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


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

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


 




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


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

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