Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 17.02.2017
Сообщений: 6
1

Сравнение данных из TextBox в VBA с ячейками таблицы Excel

17.02.2017, 21:01. Показов 1269. Ответов 5
Метки нет (Все метки)

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

Private Sub ВВ_Click()
Dim nv, nv1, inum As Single
nv = НВ.Text
kv = КВ.Text
inum = 0
For i = 2 To 70

Application.Goto ActiveWorkbook.Sheets("Движение вагонов").Cells(i, 2)
nv1 = Cells(i, 2)
Cells(68, 2) = nv 'для отладки
If nv1 = nv Then
inum = i
Cells(68, 1) = "inum" 'для отладки
Exit For
End If
Next i
End Sub
В примере форма активируется при переходе на лист 1
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Вложения
Тип файла: xls Книга2.xls (99.5 Кб, 5 просмотров)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.02.2017, 21:01
Ответы с готовыми решениями:

Сравнение элемента коллекции с ячейками в Excel
Добрый день! Есть проект, в котором две кнопки: первая - "Выбрать файл для разбора" вторая -...

Загрузка данных из таблицы Excel в TextBox
Добрый день! Нужна помощь. Помогите пожалуйста написать код для загрузки xsl файла на c#....

Сравнение ячеек данных Stringgrid и ячейками данных Access
Помогите пожалуйста! Как сравнивать данные ячеек стринггрида и данные базы аксесс типа стринг, и...

Excel скопировать данные из таблицы с объединенными ячейками
Есть таблица excel с объединенными ячейками (после экспорта). Нужно скопировать её так, что бы...

5
4112 / 2219 / 938
Регистрация: 01.12.2010
Сообщений: 4,625
17.02.2017, 22:07 2
Альтернативный вариант :

Visual Basic
1
2
3
4
5
6
7
8
9
Private Sub ВВ_Click()
    Dim nv$, cell As Range
    nv = НВ.Text
 
    Set cell = Worksheets("Движение вагонов").Columns(2).Find(nv, , xlValues, xlWhole)
    If Not cell Is Nothing Then
       MsgBox "Вагон найден в ячейке " & cell.Address
    End If
End Sub

Впрочем, если очень хочется перебирать ячейки, то :

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Private Sub ВВ_Click()
    Dim i&, nv$: nv = НВ.Text
 
    With Worksheets("Движение вагонов")
         For i = 2 To .Cells(.Rows.Count, 2).End(xlUp).Row
             If StrComp(nv, .Cells(i, 2)) = 0 Then
                MsgBox "Вагон найден в ячейке B" & i
                Exit For
             End If
         Next
    End With
End Sub
 
'Private Sub ВВ_Click()
'    Dim i&, nv$: nv = НВ.Text
'
'    For i = 2 To Лист5.Cells(Лист5.Rows.Count, 2).End(xlUp).Row
'        If StrComp(nv, Лист5.Cells(i, 2)) = 0 Then
'           MsgBox "Вагон найден в ячейке B" & i
'           Exit For
'         End If
'    Next
'End Sub
0
0 / 0 / 0
Регистрация: 17.02.2017
Сообщений: 6
18.02.2017, 10:41  [ТС] 3
Спасибо подходит второй вариант, так как для дальнейшей работы нужен номер строки.
И если не сложно, вопрос для общего развития:
Цикл For i = 2 To .Cells(.Rows.Count, 2).End(xlUp).Row перебирает пока ячейки заполнены?
0
4112 / 2219 / 938
Регистрация: 01.12.2010
Сообщений: 4,625
18.02.2017, 17:41 4
Если нужен номер строки (хотя и не факт, что в реальности он действительно необходим), то cell.row
Цикл со второй строки и до последней заполненной(и видимой). при этом, между ними могут встречаться пустые ячейки.
0
0 / 0 / 0
Регистрация: 17.02.2017
Сообщений: 6
18.02.2017, 17:50  [ТС] 5
Я планировал по двум данным (номер вагона и дата) найти номер строки и номер столбца, и в эту ячейку вносить данные.
0
4112 / 2219 / 938
Регистрация: 01.12.2010
Сообщений: 4,625
18.02.2017, 17:58 6
Если не вводить дату, а выбирать в ComboBox из уже имеющихся, то в этом случае, не придётся искать дату, а ячейку можно будет определить и без номера строки.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.02.2017, 17:58

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Сравнение Таблицы Oracle и таблицы excel и вывод в таблицу на SQL сервер
спецы в программировании, хэлп... делаю приложение в VisialStudio. изучила многое простое, а вот с...

Сравнение ячеек в VBA Excel
Добрый день, друзья. Выручите меня, пожалуйста. Итак, имеется табличка с возможностью...

Отследить потерю фокуса TextBox (VBA Excel)
Всем добрый вечер! Уважаемые форумчане - помогите советом. У меня в Excel есть форма, на форме...

Как выгрузить диапазон ячеек в textbox (vba excel)?
Такая проблема: с одной ячейкой работает без проблем, заносит ее содержимое в textbox...

Сравнение 2 книг в Excel и копирование найденых пар в третью книгу / VBA
Доброго всем времени суток!!!! Обращаюсь ко всем за помощью... Есть 2 книги в Excel (в примере по...

есть заполненная таблица в базе данных и textBox, как изменить данные таблицы данными из textBox??
есть заполненная таблица в базе данных и textBox, как изменить данные таблицы данными из textBox?...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.