Попытка найти способ поиска даты в столбце, вернуть номер строки, а затем сохранить его как целое число, в котором я мог бы вычесть целое число из найденной даты, чтобы дать мне новое значение. Например, 539-1, чтобы дать мне конкретную дату в столбце A - строка 538
Я пытался ссылаться на функцию FoundCell, в которой он будет возвращать адрес в виде строки, но не на значение, в котором я мог быманипулировать им - например, вычитать из-за различий в типах объектов. (Date, Range, String)
Я чувствую, что нахожусь на правильном пути - но просто не знаю правильный синтаксис, чтобы понять это, и поиск в Google не дал мне ответа после поиска.
Sub TestFunction()
Set Wb7 = Workbooks.Open("G:\DATA\......xlsm")
Set raw5 = Sheets("dailyPnL")
Set Wb7 = ActiveWorkbook
Set raw5 = ActiveSheet
RowOutputFile2 = Range("A8").End(xlDown).Row
'Это дает мне последнее значение строки даты, которое в данном случае составляет 539. «Я хочу иметь возможность искать любую переменную даты, используя - 2 в качестве примера, чтобы дать мне строку 537, а затем сохранить ее как новую переменную / начальную точку.
Dim WHAT_TO_FIND As Date
Dim FoundCell As Range
Dim FindCell As Range
Dim FirstAddress As String
Dim TestAddress As Range
WHAT_TO_FIND = raw5.Cells(RowOutputFile2, 1) '=9/27/2019
Set FoundCell = raw5.Range("A:A").Find(What:=WHAT_TO_FIND)
» FoundCell = 9/27 /2019
With ActiveSheet
Set FindCell = .Cells.Find(What:=WHAT_TO_FIND)
End With
FirstAddress = FindCell.Address
'Это дает мне строку "$ A $ 539
Set TestAddress = Range(FirstAddress)
" Попытка преобразовать TestAddress в диапазон, чтобы предоставить мне A539, который я мог бы использовать в качестве начальноготочка.
'В конце концов я хочу использовать начальную дату «Найдено» в A539 в качестве моей контрольной точки и вычесть из нее целое число, используя результаты из другой переменной. Например, разницу между рабочими днями.
Workdays = Application.WorksheetFunction.NetworkDays(raw3.Cells(RowOutputFile, 1), raw5.Cells(2, 1))
'Например, это даст мне 1, потому что он берет Даты между двумя электронными таблицами и вычисляет разницу между ними в рабочие дни.
If Workdays = 1 Then
New1RowOutputFile = FoundCell - Workdays
End Sub
' Это моя цель - создать New1RowOutputFileдайте мне номер строки, вычитающий целое число рабочего дня. Это будет 539 - 1 = 538. Теперь я хочу конкретную дату, которая находится в A538, которая была бы переведена как новый "New1RowOutputFile".
Я получаю кучу разных синтаксических ошибок, переключающихся между датами, диапазонами и целыми числами, но я просто не знаю, как это сделать. Помощь очень ценится!