#excel #vba
#excel #vba
Вопрос:
Я пытаюсь найти позицию случайной даты в любом месте заголовков столбцов. Когда я пытаюсь жестко закодировать диапазон, я могу его найти.
Вопрос: Как я могу отслеживать положение даты без использования жестко заданного диапазона?
Вот как выглядит дата на листе.
Моя текущая попытка:
Sub FindDate()
Dim lcolamp;, cel As Range, specificCel As Range
Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Sheet1")
' lcol = ws.Rows(1).CurrentRegion.Columns.count
For Each cel In ws.Range("A1:H1")
If IsDate(cel) Then
Set specificCel = cel
Exit For
End If
Next cel
MsgBox specificCel.Column
End Sub
Комментарии:
1. С какой именно проблемой вы столкнулись в своем коде?
2. Я не сталкиваюсь с какими-либо проблемами с кодом. Это работает безупречно. Я хочу внести небольшое изменение в сценарий, чтобы мне не нужно было использовать этот жестко заданный диапазон
Range("A1:H1")
.3. Найдите последний столбец в первой строке, используя
LastCol = ws.Cells(1, ws.Columns.Count).End(xlToLeft).Column
, а затем используйте что-то вродеFor Each cel In ws.Range(ws.Cells(1,1),ws.Cells(1,LastCol))
4. Да, это то, что мне было нужно. Большое спасибо @Siddharth Rout.