У меня есть столбец с формулой в каждом поле строки. Формула распространяет данные из другой таблицы Excel. Если в поле строки ничего нет, строка остается пустой.
Я нашел много примеров в Google, чтобы получить последнюю строку в столбце. Однако они терпят неудачу, потому что они определяют формулу как строку, в которой есть что-то. В этом есть смысл. Однако как я могу получить последнюю строку в столбце, которая игнорирует формулу и пытается только обнаружить значения в полях столбца?
В настоящее время я использую два метода для поиска последней строки в столбце, оба из которых терпят неудачу:
Function lastRowA(rngInput As Range) As Variant
Dim WorkRange As Range
Dim i As Integer, CellCount As Integer
Application.Volatile
Set WorkRange = rngInput.Rows(1).EntireRow
Set WorkRange = Intersect(WorkRange.Parent.UsedRange, WorkRange)
CellCount = WorkRange.Count
For i = CellCount To 1 Step -1
If Not IsEmpty(WorkRange(i)) Then
lastRowA = WorkRange(i).Value
Exit Function
End If
Next i
End Function
и
function lastRow(column as string, optional plusOne as boolean)
If (plusOne = False) then
plusOne=False
End If
if (plusOne = False) Then
lastRow = Replace(Range(column & "65536").End(xlUp).Address, "$", "")
Else
lastRow = Range(column & "65536").End(xlUp).Address
lastRow = Cells(lastRow)
' Replace(, "$", "")
End If
End Function