Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Basic / VBA


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Basic/VBA

Выпуск № 406
от 06.11.2006, 07:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 207, Экспертов: 26
В номере:Вопросов: 1, Ответов: 2


Вопрос № 60849: Приветствую. Импортируется из текстового файла таблица. Но в ней есть одно неудобство строка с заголовкам итого имеет вид: | 14010100026|горошек Южный привоз 360г|шт | 9.30| ==============================================================...

Вопрос № 60.849
Приветствую. Импортируется из текстового файла таблица. Но в ней есть одно неудобство строка с заголовкам итого имеет вид:

| 14010100026|горошек Южный привоз 360г|шт | 9.30|
=========================================================================================================================================================================================
ИТОГО ПО ПОДГРУППЕ::140101 Горошек ж/б
| 3595.900| 55698.79|
т.е. что "Итого" на одной строке, а суммы в соответствующих столбцах, но строкой ниже. Нужно поднять суммы на одну строку вверх. Как бы это оформить макросом, чтобы в ручную их все не выискивать?
Отправлен: 01.11.2006, 07:00
Вопрос задал: Другов-Кручинский Владимир Валерьевич (статус: 7-ой класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Макаренко Е.В.
Здравствуйте, Другов-Кручинский Владимир Валерьевич!
Я бы воспользовался функцией Mid(string, sym_num, length).
string - разбираемая строка
sym_num - с какого символа вытаскивать
length - сколько символов вытаскивать
... и функцией Like - сравнение строки с шаблоном (посмотрите в хелпе, писать долго)
Возвращает она строку. Написать разборщик на ней очень просто: читаете построчно файл...

Open filename (полное имя, с путем!) for Input As #1
Input #1, current_string (считываете строку, следующая подобная запись считает СЛЕДУЮЩУЮ строку)

...как только находите строку, начинающуюся с "ИТОГО ПО ПОДГРУППЕ"...

запись такая:
dim Chk as Boolean
Chk = current_string Like "ИТОГО ПО ПОДГРУППЕ*"
If Chk = True then ...

.. не передаете ее напрямую в таблицу, а считываете следующую строку и пристыковываете ее к предыдущей, потом импортируете.

---------
осторожность, точность... и горит все синим пламенем! :))
Ответ отправил: Макаренко Е.В. (статус: Студент)
Ответ отправлен: 01.11.2006, 09:53

Отвечает: Tossha
Здравствуйте, Другов-Кручинский Владимир Валерьевич!
Допустим, что все строки таблицы у Вас лежат в массиве strings(). Заголовки лежат в strings(0) Тогда см. приложение :)
Я не знаю, возможно я не правильно понял вопрос, но попробуйте, скорее всего это то, что Вам нужно...

Приложение:

Ответ отправил: Tossha (статус: 1-ый класс)
Ответ отправлен: 01.11.2006, 15:47


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.37 от 04.10.2006
Яндекс Rambler's Top100

В избранное