В основном я пытаюсь создать вкладку «Ввод данных».У меня есть два поля ввода для проверки данных, которые динамически извлекают данные из таблицы.Индексы первой ячейки основаны на фамилии людей (Таблица2 [LAST]).Вторая ячейка индексирует Table1 [#HEADERS].Несмотря на то, что все в порядке, мне нужно войти в ячейку рабочего листа, где эти два пересекаются, и превратить эту пересеченную ячейку в данные из ячейки на моем листе ввода данных.
Ячейка "B2" на рабочем листе 1 - проверка данныхСписок типов с раскрывающимся списком из Таблицы 2 [Последний] (в рабочем листе 2)
Ячейка "C2" на рабочем листе 1 представляет собой список типов проверки данных с раскрывающимся списком из Таблицы 1 [#HEADERS] (В рабочем листе 2)
Ячейка "D2 «на рабочем листе 1» - это тип проверки данных «Дата», который будет помещен в пересекающуюся ячейку рабочего листа 2, когда я нажму кнопку.Приведенный ниже код - это то, что я нашел и собрал воедино, и я просто не могу понять, почему он не работает в последней строке.
Sub Button5_Click()
Dim wsInfo As Worksheet: Set wsInfo = Worksheets("worksheet2")
Dim lookupRange As Range
Dim matchval As Range
Dim indexVar As Long
Dim myVal As Variant
Dim matchval2 As Range
Dim lookuprange2 As Range
Set matchval = Sheets("worksheet1").Range("B2")
Set lookupRange = wsInfo.Range("Table2[LAST]")
If Not Application.WorksheetFunction.Sum(lookupRange) = 0 Then
indexVar = Range(Application.Index(lookupRange, Application.Match(matchval, lookupRange))).Row
End If
Set matchval2 = Sheets("worksheet1").Range("B3")
Set lookuprange2 = wsInfo.Range("Table1[#HEADERS]")
If Not Application.WorksheetFunction.Sum(lookupRange) = 0 Then
columnVar = Range(Application.Index(lookupRange, Application.Match(matchval2, lookuprange2))).Column
End If
wsInfo.Cells(indexVar, columnVar) = Sheets("worksheet1").Cells(2, "D").Value
End Sub
Если есть простой способ для списка проверки данных просто датьотносительная ссылка, я могу использовать это.Это также будет учитывать дубликаты фамилий.