Как использовать функцию сопоставления (и замены), если источник, с которым вы сопоставляете, является динамическим (текстовое поле) значением (в пользовательских формах)? - PullRequest
0 голосов
/ 09 июля 2019

Я чрезвычайно новичок в коде / кодировании vba любого рода и пытаюсь разработать систему кредитования для оборудования в рамках моей дисциплины с использованием листов и форм Excel.

По сути, я хочу, чтобы cmdbutton_click обновлял статус доступности определенного компонента оборудования до "На ссуде" в электронной таблице списка инвентаря. Однако проблема, с которой я столкнулся, заключается в том, что пользователь формы введет ItemID (число), которое, очевидно, всегда будет другим. Идентификатор элемента - это значение, с которым я собираюсь использовать функцию Match.

Я попытался обратиться к текстовому полю ItemID формы, используя функцию соответствия, но он не работает вообще - я понимаю, что это, вероятно, совершенно неправильно.

Set ws2 = Worksheets("MajorInventoryList") ws2.Cells(WorksheetFunction.Match(me.txtID.value), 10) = "On Loan"

Это приводит к ошибке компиляции: «Аргумент не является обязательным»

Есть ли способ улучшить это?

1 Ответ

0 голосов
/ 09 июля 2019

Используйте Find следующим образом:

Set ws2 = Worksheets("MajorInventoryList")

Set fnd = ws2.Range("A:A").Find(Me.txtID.Value)

If Not fnd Is Nothing Then ws2.Cells(fnd.Row,10).Value = "On Loan"

Это будет искать ввод текста в столбце A и, если он будет найден, поместит «On Loan» в столбец J той строки, в которой существует значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...