Я использую VBA для создания макроса для автоматизации создания таблицы импорта в систему.
Мне нужно извлечь значение даты из отдельной открытой рабочей книги, которая имеет несколько вкладок. Каждая вкладка имеет дату, указанную в отдельной строке или столбце, которая всегда будет где-то в диапазоне A10: C11.
В основном я хочу найти букву столбца, к которой относится «Дата», чтобы позже я мог перебрать все строки в этом столбце.
Поэтому я пытаюсь сделать это:
Dim wb2 As Workbook
Set wb2 = Workbooks("Workbook Name.xlsx")
Dim wb2ws As Worksheet
Dim wb2wsrange As Range
Dim wb2wsdatecolnum As Long
Dim wb2wsdatecollet As String
Set wb2ws = wb2.Worksheets("Name of Desired Worksheet in Separate Workbook")
Set wb2wsrange = wb2ws.Range("A10:C11").Find(What:="Date", LookIn:=xlValues,
LookAt:=xlWhole)
wb2wsdatecolnum = wb2wsrange.Column
wb2wsdatecollet = Split(wb2ws.Cells(1, wb2wsdatecolnum).Address, "$")(1)
Где я сослался на поиск буквы столбца отсюда: https://www.thespreadsheetguru.com/the-code-vault/vba-code-to-convert-column-number-to-letter-or-letter-to-number
Проблема в том, что wb2wsdatecolnum всегда возвращает «1», даже если значение «Date» попадает в столбец B или CЯ не знаю почему. Это, в свою очередь, заставляет wb2wsdatecollet возвращать «A», даже если оно должно быть «B» или «C».
Есть мысли, почему это происходит?
Спасибо!