Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 03.02.2012
Сообщений: 23

Открытие Excel и поиск значения

12.03.2018, 17:58. Показов 847. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день уважаемые любители и професионалы. Просьба помочь в решении такой задачи, уже 3-й день мучаюсь, не могу понять в чем проблемма.
Задача:
Необходимо по клику кнопки в VB открыть файл Excel, выполнить поиск значения и записать в переменную.
Код:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub Command1_Click()
Dim WS As Object
Dim WB As Object
Dim oExcel As Object
Dim c, found_row as string
    Set oExcel = CreateObject("Excel.Application") 'создаю объект Excel 
    Set WB = oExcel.Workbooks.Open(d:\ip.xlsx") 'открываю файл
    oExcel.Visible = True ' делаю видимым книгу
    Set WS = WB.Worksheets("Sheet") 
    With WS.Range("C:C")
    Set c = .Find(What:=Text1.Text, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
    MatchCase:=False, SearchFormat:=False) 
    If Not c Is Nothing Then 
            found_row = c.row
    End If
end sub
проблемма возникает в строчке выделенно красным цветом, ошибка run-time error 9 Subscript out of range
если же просто указать c = .Find(What:=Text1.Text) то все работает, но мне нужно чтобы поиск был по строго заданому тексту а не по первому вхождению.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.03.2018, 17:58
Ответы с готовыми решениями:

Открытие файла, поиск значения и копирование значения в исходный файл
Уважаемые форумчане, помогите, пожалуйста, с выполнением "простой" задачи (если можно - с комментариями для новичков: 1. Открытие файла...

Excel: поиск значения в столбце
Уважаемые, помогите разобраться. Есть таблица | А| B . |__|Фирма |X |Фирма Необходимо найти...

Поиск значения на странице Excel
подскажите, можно указать элемент в ячейке(например если там написано 'Р27'), затем присвоить ему имя переменной X, а затем на другом листе...

6
4089 / 1469 / 401
Регистрация: 07.08.2013
Сообщений: 3,671
12.03.2018, 18:10
в этой строке есть константы excel
начинаются они с букв xl.....
если вы не подключили библиотеку Excel то они будут недоступны
выход
1.или подключить библиотеку
2. или заменить имена констант на их числовые значения
1
0 / 0 / 0
Регистрация: 03.02.2012
Сообщений: 23
12.03.2018, 18:27  [ТС]
snipe - огромное спасибо, это ж надо как все элементарно просто, подключил библиотеку и заработало. Еще раз спасибо.
0
4089 / 1469 / 401
Регистрация: 07.08.2013
Сообщений: 3,671
12.03.2018, 18:33
я бы все-таки заменил константы
с библиотекой есть сложности
например вы запустите свой файл в офисе 10 а делали в 16
и все библиотека слетела
надо будет переподключать

а так с поздним связывание все побоку
0
0 / 0 / 0
Регистрация: 03.02.2012
Сообщений: 23
12.03.2018, 18:36  [ТС]
дело в том, что я не знаю как заменить константы числовыми значениями, точнее не знаю какие значения подставлять.
0
4089 / 1469 / 401
Регистрация: 07.08.2013
Сообщений: 3,671
12.03.2018, 18:46
сейчас у вас код работает нормально

нужно в редакторе vba поставить точку останова
слева от нужной строки на сером поле кликнуть мышкой
появится красная точка и строка выделится красным цветом
точку останова надо поставить ниже этой хитрой строчки

далее запустить код (судя по всему нажать какую-то кнопку на форме)

прога остановится на точке останова
теперь наводим мышкой на константу и смотрим возле курсора мыши значение
записываем на бумажку

нажимаем f5
снимаем точку останова

Добавлено через 4 минуты
другой вариант
в екселе в редакторе vba нажимаем f2
и пробиваем константы

Добавлено через 1 минуту
ну и самый известный ответ
google
0
0 / 0 / 0
Регистрация: 03.02.2012
Сообщений: 23
12.03.2018, 18:48  [ТС]
Спасибо еще раз, я такой метод знаю)))), у меня установлен редактор VB6, запустил программу, с помощью F8 пошагово прошелся до строчки, прошел ее и потом получил значение наведя мишку.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.03.2018, 18:48
Помогаю со студенческими работами здесь

Поиск минимального значения в колонке в excel
Народ, срочно спасайте. Не могу сделать домашку, завтра порвут. В экселе колонка цифр, нужно создать КНОПКУ чтоб нажав на нее в...

Поиск ячейки в excel и передача значения в текстбоксы
Есть таблица excel, которая содержит: Дисциплина|Часов в неделю|Лекций в неделю Менеджмент|4 |2 Маркетинг |2 ...

Ошибка поиск значения в столбце макросом в excel
Подскажите делитанту, как узнать есть ли такое значение в колонке, если есть то присвоить какому нить флагу значение, к примеру 1 Я вот...

Поиск значения в Таблицах в разных файлах Excel
Доброго времени суток. Работаю в компании, которая занимается ежедневными продажами. В процессе создания отчета по продожам...

Простой парсинг строки в Excel, поиск значения после символа
Здравствуйте, подскажите пожалуйста, как можно решить такую задачу: В таблице Excel есть столбец со строками вида: «ЭРТ №2...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru