Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Поиск по документу и заполнение формы - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Поиск по документу и заполнение формы (Макросы/Sub)
Поиск по документу и заполнение формы
konstantin_987 Дата: Понедельник, 07.03.2016, 21:15 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 27
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Доброго времени суток, форумчане!

Помогите пожалуйста с проблемой.
Есть документ в котором нужно выполнить поиск значения (задается в поле "Штрих-код) по столбцам G:K,
и потом данные занести в форму.

Все бы хорошо но если искомое значение находится не в столбце G,
а допустим в Н, то заполнение формы некоректно
К сообщению приложен файл: 1909228.xlsm (27.4 Kb)
 
Ответить
СообщениеДоброго времени суток, форумчане!

Помогите пожалуйста с проблемой.
Есть документ в котором нужно выполнить поиск значения (задается в поле "Штрих-код) по столбцам G:K,
и потом данные занести в форму.

Все бы хорошо но если искомое значение находится не в столбце G,
а допустим в Н, то заполнение формы некоректно

Автор - konstantin_987
Дата добавления - 07.03.2016 в 21:15
StoTisteg Дата: Понедельник, 07.03.2016, 21:47 | Сообщение № 2
Группа: Авторы
Ранг: Старожил
Сообщений: 1161
Репутация: 103 ±
Замечаний: 0% ±

Excel 2010
То есть искать надо сначала в столбце G, а потом, если там нет, то в остальных. Так?


Интуитивно понятный код - это когда интуитивно понятно, что это код.
 
Ответить
СообщениеТо есть искать надо сначала в столбце G, а потом, если там нет, то в остальных. Так?

Автор - StoTisteg
Дата добавления - 07.03.2016 в 21:47
StoTisteg Дата: Понедельник, 07.03.2016, 21:55 | Сообщение № 3
Группа: Авторы
Ранг: Старожил
Сообщений: 1161
Репутация: 103 ±
Замечаний: 0% ±

Excel 2010
Дошло. Параметр offset'а менять надо в зависимости от столбца :p


Интуитивно понятный код - это когда интуитивно понятно, что это код.
 
Ответить
СообщениеДошло. Параметр offset'а менять надо в зависимости от столбца :p

Автор - StoTisteg
Дата добавления - 07.03.2016 в 21:55
konstantin_987 Дата: Понедельник, 07.03.2016, 22:03 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 27
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
То есть искать надо сначала в столбце G, а потом, если там нет, то в остальных. Так?

В столбцах G:K уникальные не повторяющиеся значения, по ним производить поиск.
 
Ответить
Сообщение
То есть искать надо сначала в столбце G, а потом, если там нет, то в остальных. Так?

В столбцах G:K уникальные не повторяющиеся значения, по ним производить поиск.

Автор - konstantin_987
Дата добавления - 07.03.2016 в 22:03
konstantin_987 Дата: Понедельник, 07.03.2016, 22:04 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 27
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Параметр offset'а менять надо в зависимости от столбца

Я есть не специалист в этих делах
 
Ответить
Сообщение
Параметр offset'а менять надо в зависимости от столбца

Я есть не специалист в этих делах

Автор - konstantin_987
Дата добавления - 07.03.2016 в 22:04
StoTisteg Дата: Понедельник, 07.03.2016, 22:10 | Сообщение № 6
Группа: Авторы
Ранг: Старожил
Сообщений: 1161
Репутация: 103 ±
Замечаний: 0% ±

Excel 2010
Ловите.
К сообщению приложен файл: 3648003.xlsm (25.5 Kb)


Интуитивно понятный код - это когда интуитивно понятно, что это код.
 
Ответить
СообщениеЛовите.

Автор - StoTisteg
Дата добавления - 07.03.2016 в 22:10
konstantin_987 Дата: Понедельник, 07.03.2016, 22:15 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 27
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Спасибо огромное.
И еще вопрос: как убрать автозапуск формы заполнения при открытии файла?


Сообщение отредактировал konstantin_987 - Понедельник, 07.03.2016, 22:15
 
Ответить
СообщениеСпасибо огромное.
И еще вопрос: как убрать автозапуск формы заполнения при открытии файла?

Автор - konstantin_987
Дата добавления - 07.03.2016 в 22:15
StoTisteg Дата: Понедельник, 07.03.2016, 22:16 | Сообщение № 8
Группа: Авторы
Ранг: Старожил
Сообщений: 1161
Репутация: 103 ±
Замечаний: 0% ±

Excel 2010
Очистите модуль книги.


Интуитивно понятный код - это когда интуитивно понятно, что это код.
 
Ответить
СообщениеОчистите модуль книги.

Автор - StoTisteg
Дата добавления - 07.03.2016 в 22:16
konstantin_987 Дата: Понедельник, 07.03.2016, 22:17 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 27
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Спасибо большое!
 
Ответить
СообщениеСпасибо большое!

Автор - konstantin_987
Дата добавления - 07.03.2016 в 22:17
al-Ex Дата: Понедельник, 07.03.2016, 22:28 | Сообщение № 10
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 190
Репутация: 59 ±
Замечаний: 0% ±

Excel 2010
если искомое значение находится не в столбце G,
а допустим в Н, то заполнение формы некоректно
поправил ошибку твою смотри в файле
Вам нужно делать "Find" 1 раз.[vba]
Код

          Dim oRow As Integer
          oRow = Worksheets(1).Columns("G:K").Find(what:=Me.txt_Штрих.Text).Row 'номер найденной строки
          
            If Err.Number <> 0 Then
                MsgBox prompt:="Неверный штрих-код!", Title:="Штрих-код"
                Else:  'тут надо просто так,
                      Me.txt_Название.Text = .Cells(oRow, 1).Value
                      Me.txt_ФИО.Text = .Cells(oRow, 2).Value
                      Me.txt_Машина.Text = .Cells(oRow, 3).Value
                      Me.txt_Пункт.Text = .Cells(oRow, 4).Value
[/vba]
К сообщению приложен файл: cmmmm.xlsm (23.7 Kb)


Сообщение отредактировал al-Ex - Понедельник, 07.03.2016, 22:39
 
Ответить
Сообщение
если искомое значение находится не в столбце G,
а допустим в Н, то заполнение формы некоректно
поправил ошибку твою смотри в файле
Вам нужно делать "Find" 1 раз.[vba]
Код

          Dim oRow As Integer
          oRow = Worksheets(1).Columns("G:K").Find(what:=Me.txt_Штрих.Text).Row 'номер найденной строки
          
            If Err.Number <> 0 Then
                MsgBox prompt:="Неверный штрих-код!", Title:="Штрих-код"
                Else:  'тут надо просто так,
                      Me.txt_Название.Text = .Cells(oRow, 1).Value
                      Me.txt_ФИО.Text = .Cells(oRow, 2).Value
                      Me.txt_Машина.Text = .Cells(oRow, 3).Value
                      Me.txt_Пункт.Text = .Cells(oRow, 4).Value
[/vba]

Автор - al-Ex
Дата добавления - 07.03.2016 в 22:28
konstantin_987 Дата: Понедельник, 07.03.2016, 22:39 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 27
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
al-Ex, спасибо
 
Ответить
Сообщениеal-Ex, спасибо

Автор - konstantin_987
Дата добавления - 07.03.2016 в 22:39
StoTisteg Дата: Понедельник, 07.03.2016, 22:43 | Сообщение № 12
Группа: Авторы
Ранг: Старожил
Сообщений: 1161
Репутация: 103 ±
Замечаний: 0% ±

Excel 2010
Точно, так проще. Что-то я на offset'е зациклился :)


Интуитивно понятный код - это когда интуитивно понятно, что это код.
 
Ответить
СообщениеТочно, так проще. Что-то я на offset'е зациклился :)

Автор - StoTisteg
Дата добавления - 07.03.2016 в 22:43
konstantin_987 Дата: Вторник, 08.03.2016, 14:30 | Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 27
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Помогите пожалуйста! Столкнулся с такой проблемой:
После сбора данных макросом из 4-х листов на лист "Сводная"
Форма корректно заполняется только если выбрано значение с первого листа, если искомое значение (штрих код) со второго листа,
то пишет что не верный штрих-код
К сообщению приложен файл: 8906432.xlsm (49.3 Kb)
 
Ответить
СообщениеПомогите пожалуйста! Столкнулся с такой проблемой:
После сбора данных макросом из 4-х листов на лист "Сводная"
Форма корректно заполняется только если выбрано значение с первого листа, если искомое значение (штрих код) со второго листа,
то пишет что не верный штрих-код

Автор - konstantin_987
Дата добавления - 08.03.2016 в 14:30
StoTisteg Дата: Вторник, 08.03.2016, 15:29 | Сообщение № 14
Группа: Авторы
Ранг: Старожил
Сообщений: 1161
Репутация: 103 ±
Замечаний: 0% ±

Excel 2010
Ловите. Просто макрос изначально рассчитывался на работу с внешним файлом, поэтому заточен под первый лист.
К сообщению приложен файл: 2165258.xlsm (46.2 Kb)


Интуитивно понятный код - это когда интуитивно понятно, что это код.
 
Ответить
СообщениеЛовите. Просто макрос изначально рассчитывался на работу с внешним файлом, поэтому заточен под первый лист.

Автор - StoTisteg
Дата добавления - 08.03.2016 в 15:29
konstantin_987 Дата: Вторник, 08.03.2016, 16:27 | Сообщение № 15
Группа: Пользователи
Ранг: Новичок
Сообщений: 27
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
StoTisteg, Огромное спасибо
hands hands hands hands
 
Ответить
СообщениеStoTisteg, Огромное спасибо
hands hands hands hands

Автор - konstantin_987
Дата добавления - 08.03.2016 в 16:27
Wasilich Дата: Вторник, 08.03.2016, 17:03 | Сообщение № 16
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
если искомое значение (штрих код) со второго листа,
то пишет что не верный штрих-код
Пока жарились котлеты, тоже малость поковырялся в чужом коде.
К сообщению приложен файл: konstantin_987_.xls (71.0 Kb)
 
Ответить
Сообщение
если искомое значение (штрих код) со второго листа,
то пишет что не верный штрих-код
Пока жарились котлеты, тоже малость поковырялся в чужом коде.

Автор - Wasilich
Дата добавления - 08.03.2016 в 17:03
konstantin_987 Дата: Вторник, 08.03.2016, 20:10 | Сообщение № 17
Группа: Пользователи
Ранг: Новичок
Сообщений: 27
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Wasilich,
То же интересное решение задачи
 
Ответить
СообщениеWasilich,
То же интересное решение задачи

Автор - konstantin_987
Дата добавления - 08.03.2016 в 20:10
konstantin_987 Дата: Пятница, 11.03.2016, 22:40 | Сообщение № 18
Группа: Пользователи
Ранг: Новичок
Сообщений: 27
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Если в документе есть пятизначные и шестизначные числа макрос поиска не работает на поиск шестизначных.
Как его нужно изменить?
К сообщению приложен файл: 56.xlsm (49.6 Kb)
 
Ответить
СообщениеЕсли в документе есть пятизначные и шестизначные числа макрос поиска не работает на поиск шестизначных.
Как его нужно изменить?

Автор - konstantin_987
Дата добавления - 11.03.2016 в 22:40
al-Ex Дата: Пятница, 11.03.2016, 22:52 | Сообщение № 19
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 190
Репутация: 59 ±
Замечаний: 0% ±

Excel 2010
макрос поиска не работает на поиск шестизначных
Так у тебя в макросе условие стоит!
[vba]
Код
If Len(Me.txt_Штрих) = 5 Then 'Только если длина строки "Me.txt_Штрих" = 5 знаков тогда
' ...чего-то...................
'.......делаем...............
End If
[/vba]вот, согласно этому условию он и игнорит шестизначные и вообще любые кроме пятизначных.))
не знаю зачем оно, но если нужно только пяти или шести значные, тогда вот так измени условие:
[vba]
Код
If Len(Me.txt_Штрих) = 5 or Len(Me.txt_Штрих) = 6 Then
[/vba]
вот переделал немножко, на любую длину от 5 до 8 символов будет работать, смотри файл
К сообщению приложен файл: 56_test.xlsm (52.8 Kb)


Сообщение отредактировал al-Ex - Пятница, 11.03.2016, 23:56
 
Ответить
Сообщение
макрос поиска не работает на поиск шестизначных
Так у тебя в макросе условие стоит!
[vba]
Код
If Len(Me.txt_Штрих) = 5 Then 'Только если длина строки "Me.txt_Штрих" = 5 знаков тогда
' ...чего-то...................
'.......делаем...............
End If
[/vba]вот, согласно этому условию он и игнорит шестизначные и вообще любые кроме пятизначных.))
не знаю зачем оно, но если нужно только пяти или шести значные, тогда вот так измени условие:
[vba]
Код
If Len(Me.txt_Штрих) = 5 or Len(Me.txt_Штрих) = 6 Then
[/vba]
вот переделал немножко, на любую длину от 5 до 8 символов будет работать, смотри файл

Автор - al-Ex
Дата добавления - 11.03.2016 в 22:52
StoTisteg Дата: Пятница, 11.03.2016, 23:06 | Сообщение № 20
Группа: Авторы
Ранг: Старожил
Сообщений: 1161
Репутация: 103 ±
Замечаний: 0% ±

Excel 2010
Это печально. Потому что макрос заточен под фиксированное число знаков. Изменить число символов — пожалуйста, а вот сделать его произвольным... сложнее.


Интуитивно понятный код - это когда интуитивно понятно, что это код.
 
Ответить
СообщениеЭто печально. Потому что макрос заточен под фиксированное число знаков. Изменить число символов — пожалуйста, а вот сделать его произвольным... сложнее.

Автор - StoTisteg
Дата добавления - 11.03.2016 в 23:06
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Поиск по документу и заполнение формы (Макросы/Sub)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!