Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2003/XP/2000 - Распарсить XLS и получить интересующие данные во внешний файл

Ответить
Настройки темы
2003/XP/2000 - Распарсить XLS и получить интересующие данные во внешний файл

Новый участник


Сообщения: 32
Благодарности: 0

Профиль | Отправить PM | Цитировать


Есть таблица xls с 5000+ строк следующего вида:



Необходимо сделать интерфейс, чтобы пользователь мог ввести в поле интересующую его фамилию, нажать кнопку и получить файл (txt или же новый xls) с информацией об этом субъекте. Например, пользователь ввел "Герасимова" и получил на выходе файл с содержимым:



Это можно реализовать на VBA, например? Каким образом?

Отправлено: 14:05, 28-01-2014

 

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Упакуйте Ваш файл в архив. Прикрепите архив к сообщению.

Отправлено: 14:22, 28-01-2014 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 32
Благодарности: 0

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: zip сводка-27.01.2014.zip
(104.1 Kb, 5 просмотров)

Сделал

Отправлено: 14:38, 28-01-2014 | #3


Новый участник


Сообщения: 32
Благодарности: 0

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: zip UserForm.zip
(1.3 Kb, 2 просмотров)

Набросал форму, некоторые тезисы по поводу функционала:
1. Пользователь вводит фамилию в текстовое поле
2. Нажимает кнопку Поиск записей
3. В текстбокс падают строки, где присутствует введенная фамилия
4. При желании, пользователь нажимает на кнопку Запись в файл, происходит экспорт

Отправлено: 17:46, 28-01-2014 | #4


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать



Примерно так: сводка-27.01.2014 (2).7z.

Диапазон преобразован в список. Добавлена форма для фильтрации по выбранной/введённой фамилии, для экспорта отфильтрованного списка в новую рабочую книгу (её сохранение делать не стал).
Это сообщение посчитали полезным следующие участники:

Отправлено: 08:26, 29-01-2014 | #5


Новый участник


Сообщения: 32
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата:
Диапазон преобразован в список.
Нужно универсальное средство, которое бы подошло для множества документов такого типа.
Макрос можно быстро запустить для другого подобного файла.

Отправлено: 09:28, 29-01-2014 | #6


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


bagfinder, а почему Ваши пользователи не используют списки?

Расскажите, как Вы предлагаете определять потребный диапазон? У нас есть ровно четыре варианта — «ручками» и «Selection» + «.UsedRange»/«.CurrentRegion».

Отправлено: 10:15, 29-01-2014 | #7


Новый участник


Сообщения: 32
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата:
а почему Ваши пользователи не используют списки?
Эти таблицы присылают уже в готовом виде, так что пользователь просто анализирует полученное.
Ну и уровень владения excel у пользователя нулевой, так что, чем проще и очевиднее интерфейс, тем лучше.

Цитата:
У нас есть ровно четыре варианта — «ручками» и «Selection» + «.UsedRange»/«.CurrentRegion».
А нельзя просто сравнить UserForm1.SurnameTextbox.Value с B2-B... и вывести строки со вхождением?
С VBA я не знаком, не знаю, что лучше.

Отправлено: 10:45, 29-01-2014 | #8


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата bagfinder:
Эти таблицы присылают уже в готовом виде, так что пользователь просто анализирует полученное. »
Есть прямой смысл научить их пользоваться списками.

Цитата bagfinder:
Ну и уровень владения excel у пользователя нулевой, так что, чем проще и очевиднее интерфейс, тем лучше. »
Горячую клавишу нажать смогут? Или как предполагается вызывать форму на исполнение?

Цитата bagfinder:
А нельзя просто сравнить UserForm1.SurnameTextbox.Value с B2-B... и вывести строки со вхождением? »
Так проблема в том-то и состоит, чтобы определить:
  • «B» ли это (а не «C», «D» или «AH»);
  • с «2» ли это (а не с «3», «4» или «1»);
  • и главное — а докуда это самое «…»?

Ещё остаются вопросы с выбором конкретного рабочего листа, если их несколько.

Цитата bagfinder:
С VBA я не знаком, не знаю, что лучше. »
Давайте я опишу, а Вы выберете.

«ручками» — предлагается указать адрес диапазона, с которым будем работать.
«Selection» — существующее выделение. Для простоты будем предполагать простое прямоугольное выделение на одном листе.
«.UsedRange» — использованный диапазон на рабочем листе. От крайней левой верхней использованной ячейки до крайней правой нижней использованной ячейки.
«.CurrentRegion» — заполненный диапазон, считающийся от текущего выделения. Проще всего его представить как прямоугольную область, ограниченную пустыми строками и столбцами по краям.

Типичным является использование следующего сценария — выделить любую ячейку внутри диапазона и вызвать форму. Та начинает работать, например, с Selection.CurrentRegion.

Отправлено: 11:29, 29-01-2014 | #9


Новый участник


Сообщения: 32
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата:
«.UsedRange» — использованный диапазон на рабочем листе. От крайней левой верхней использованной ячейки до крайней правой нижней использованной ячейки.
Как мне видится, это подходящий вариант.

P.S. Рабочий лист один
P.P.S. Первая строка - заголовки (Дата/Время, Фамилия и т.п.), остальное - данные.

Отправлено: 11:40, 29-01-2014 | #10



Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2003/XP/2000 - Распарсить XLS и получить интересующие данные во внешний файл

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
2003/XP/2000 - Outlook Express и сохраненный файл .xls в никуда nick5 Microsoft Office (Word, Excel, Outlook и т.д.) 1 06-03-2013 03:19
CMD/BAT - GUI окно, в которое вводяться данные передает эти данные в cmd файл, (редактирует) Neqste Скриптовые языки администрирования Windows 3 07-09-2011 05:31
Ошибка - Не создаётся файл под именем Книга1.xls A1eXos Microsoft Windows 2000/XP 1 23-04-2010 10:25
[решено] Как получить данные из элемента ThunderRT6TextBox в ini-файл aktivizion AutoIt 15 12-03-2010 17:57
Разное - написать программу, чтобы она вытаскивала данные из .txt или .xls exo Программирование и базы данных 5 10-07-2009 20:46




 
Переход