Это работает Lastrow = 8, но не 9 (тип рассогласование)Несоответствие типа VBA
Если я удалить If Not (myarray = Empty) Then
он не работает в течение 8
Что это самый простой способ решить эту проблему?
Public Function GetRowToWriteOn(ByVal SheetName As String, ByVal idnr As Integer) As Integer
LastRow = (Sheets(SheetName).UsedRange.Rows.Count) + 1
MsgBox (LastRow)
myarray = Sheets(SheetName).Range("d8:d" & LastRow).Value
If Not (myarray = Empty) Then
For row = 1 To UBound(myarray, 1)
If (myarray(row, 1) = idnr) Then
GetRowToWriteOn = row
Exit Function
End If
Next
End If
GetRowToWriteOn = LastRow
Exit Function
End Function
Какие значения '' LastRow' и row'? Удивление, если вы превышаете пределы целого числа. – markblandford
О, извините, это на самом деле Lastrow, который составляет 8 и 9 –
Вы используете опцию явным? – Trace