Я работаю с таблицами, поэтому все они являются ссылочными в ListObjects
. Мне нужно знать столбец даты в ListObjects.HeaderRowRange
, используя диапазон внутри другой таблицы. Я пробовал find
и match
метод. Как в следующем примере:
Sub test()
Dim mycell As Range
Dim myrange As Range
Dim SourceTbl As ListObject
Dim ResultTbl As ListObject
Set SourceTbl = WSEscoreCocho.ListObjects("TBEscore")
Set ResultTbl = WSBD.ListObjects("TBBD")
Set myrange = ResultTbl.ListColumns(5).DataBodyRange
For Each mycell In myrange
mycell.Value = SourceTbl.HeaderRowRange.Find(mycell.Offset(0, -1).Value, LookAt:=xlWhole).Column
mycell.Value = WorksheetFunction.Match(mycell.Offset(0, -1).Value, SourceTbl.HeaderRowRange, 0)
Next mycell
End Sub
Но не работает. Этот код возвращает «переменная объекта не была определена». Кажется, проблема в хранении данных. Мой первый mycell.offset(0,-1).value
- 09.03.2020 (дд / мм / гг). Без кавычек. Я пробовал Clng()
и Cdate
. Как я могу обойти эту проблему?