Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Получаю неверное значение в макросе / 13 сообщений из 13, страница 1 из 1
21.11.2013, 18:35
    #38473388
endurance
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получаю неверное значение в макросе
Приветствую!

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

Я написал такой код, но почему-то неверно выбирается адрес ячейки, не могу понять почему. В чем может быть дело? Заранее спасибо

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
[SRC VB]
Sub Main()
      Dim mater As String
      Dim currCell As Range
      mater = "Material"
      With Sheets("Table")
      Set currCell = Cells.Find(What:=mater, SearchFormat:=False)
                    Stop
                    mater = currCell.Address(False, False)
                    
End With
End Sub

[/SRC]
...
Рейтинг: 0 / 0
21.11.2013, 18:55
    #38473404
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получаю неверное значение в макросе
Ставя
Код: vbnet
1.
With Sheets("Table")

вы какую цель преследовали?
...
Рейтинг: 0 / 0
21.11.2013, 19:00
    #38473406
endurance
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получаю неверное значение в макросе
Shocker.Pro, чтобы все действия в этом блоке выполнять в листе "Table".
...
Рейтинг: 0 / 0
21.11.2013, 19:06
    #38473411
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получаю неверное значение в макросе
тогда надо поставить точку перед Cells, а то поиск выполняется на текущем листе
...
Рейтинг: 0 / 0
21.11.2013, 19:10
    #38473413
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получаю неверное значение в макросе
enduranceполучить адрес ячейкиА вернуть куда? Ибо вернуть может либо функция, либо процедура в параметр ByRef , либо запись в коде в паблик-переменную - а ничего из этого не наблюдается...

Ну а для поиска конкретного значения на листе - даже не обязательно применять VBA. Вашу хотелку даже формулы листа решают...
...
Рейтинг: 0 / 0
21.11.2013, 19:43
    #38473429
endurance
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получаю неверное значение в макросе
Shocker.Proтогда надо поставить точку перед Cells, а то поиск выполняется на текущем листе
Поставил, результат такой же - неверный. Возвращает адрес другой ячейки, даже не могу понять почему берет именно ее.
...
Рейтинг: 0 / 0
21.11.2013, 19:47
    #38473438
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получаю неверное значение в макросе
enduranceShocker.Proтогда надо поставить точку перед Cells, а то поиск выполняется на текущем листе
Поставил, результат такой же - неверный. Возвращает адрес другой ячейки, даже не могу понять почему берет именно ее.Ну мы усилием мысли не можем увидеть ваш файл и попробовать на своем компьютере, только по вашей доброй воле...
...
Рейтинг: 0 / 0
21.11.2013, 19:49
    #38473442
endurance
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получаю неверное значение в макросе
AndreTMenduranceполучить адрес ячейкиА вернуть куда? Ибо вернуть может либо функция, либо процедура в параметр ByRef , либо запись в коде в паблик-переменную - а ничего из этого не наблюдается...

Потом я хочу записать в переменную номер найденной строки и стоблца и дальше с этими переменными работать.
var1=currCell.row
var2=currCell.column

AndreTMНу а для поиска конкретного значения на листе - даже не обязательно применять VBA. Вашу хотелку даже формулы листа решают...
Согласен, но дальше мне потребуются эти значения в циклах. Без VBA не получится.
...
Рейтинг: 0 / 0
21.11.2013, 20:02
    #38473452
endurance
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получаю неверное значение в макросе
Shocker.Proenduranceпропущено...

Поставил, результат такой же - неверный. Возвращает адрес другой ячейки, даже не могу понять почему берет именно ее.Ну мы усилием мысли не можем увидеть ваш файл и попробовать на своем компьютере, только по вашей доброй воле...
Понял, Excel файл во вложении.
...
Рейтинг: 0 / 0
21.11.2013, 22:57
    #38473563
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получаю неверное значение в макросе
не знаю, у меня все находит (ячейку D5). Если пользоваться кодом, который в вашем первом посте, а не тем, что в файле


ЗЫ: этот материал будет вам полезен
...
Рейтинг: 0 / 0
23.11.2013, 10:26
    #38475134
zchvv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получаю неверное значение в макросе
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
Public Function НайтиСтолбец(ByVal rng As Range, ByVal zglvk As String) As Integer
Dim c As Range
    Set c = rng.Find(What:=zglvk, LookIn:=xlValues, LookAt:=xlWhole)
    If Not c Is Nothing Then
        НайтиСтолбец = c.Column
    Else
        НайтиСтолбец = -1
    End If
End Function



Вызов:
Set Table=ws.UsedRange (или как нибудь еще)
k=НайтиСтолбец(Table.Rows(1),"Материал")
...
Рейтинг: 0 / 0
23.11.2013, 14:57
    #38475246
lbppb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получаю неверное значение в макросе
endurance,
...
Рейтинг: 0 / 0
25.11.2013, 15:07
    #38476763
endurance
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получаю неверное значение в макросе
авторне знаю, у меня все находит (ячейку D5). Если пользоваться кодом, который в вашем первом посте, а не тем, что в файле
ЗЫ: этот материал будет вам полезен
спасибо! Поигрался с точкой и вариантами написания, все заработало. Возможно потому что Excel 2007. За информацию спасибо!

zchvv, lbppb, спасибо большое, разобрался!
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Получаю неверное значение в макросе / 13 сообщений из 13, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]