Я получаю сообщение об ошибке 91 «Переменная объекта или переменная блока не установлена» при использовании .Find (Что: -.
Я хочу найти индексный номер столбца на листе «Обзор» путем поискадля значения в ячейках (2,2) из "dailysheet".
Я получаю сообщение об ошибке в строке lnCol =. Я думаю, что это как-то связано с форматированием или установкой переменной "checkdate".
Любая помощь будет принята с благодарностью!
Sub checkingdate_Click()
Dim overview As Worksheet
Dim dailysheet As Worksheet
Dim datecheck As Range
Dim checkdate As Date
Dim lnRow As Long
Dim lnCol As Long
Set overview = ThisWorkbook.Worksheets("overview")
Set dailysheet = ThisWorkbook.Worksheets("dailysheet")
Set datecheck = dailysheet.Cells(2, 2)
lnRow = 5
overview.Rows("5").EntireRow.Hidden = False 'Adjust potentially
With datecheck
.NumberFormat = "dd/mm/yyyy"
'.NumberFormat = "@"
End With
With overview.Rows("5")
.NumberFormat = "dd/mm/yyyy"
'.NumberFormat = "@"
End With
checkdate = dailysheet.Cells(2, 2).Value
MsgBox datecheck.Value
MsgBox checkdate
lnCol = overview.Cells(lnRow, 1).EntireRow.Find(What:=checkdate, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False).Column
MsgBox lnCol
'=====
' END
'=====
overview.Rows("5").EntireRow.Hidden = True 'Adjust potentially
With overview.Rows("5")
.NumberFormat = "dd"
End With
With overview.Columns("B:ABO")
.ColumnWidth = 4.57
End With
End Sub
РЕДАКТИРОВАТЬ: Нашел решение, изменив переменную checkdate на dailysheet.Cells (2,2). Скорее, чем. Значения и изменились на LookIn: = xlFormulas, а не LookIn: = xlValues. Я также изменил .NumberFormat Overview.Rows («5»), чтобы даты стали серийными номерами, что позволило выполнять поиск по серийному номеру из «checkdate».
Отредактированная часть кода приведена ниже:
With overview.Rows("5")
'.NumberFormat = "dd/mm/yyyy"
.NumberFormat = "@"
End With
checkdate = dailysheet.Cells(2, 2).Formula
MsgBox datecheck.Value
MsgBox checkdate
lnCol = overview.Cells(lnRow, 1).EntireRow.Find(What:=checkdate, LookIn:=xlFormulas, LookAt:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False).Column