Моей колонка А имеет значение, как kat1 КАТ2 пустого kat3 Я хотел программу по существу пропустить пустую ячейку и использовать kat3 в качестве ячейки, чтобы установить последнюю строку (lrow). Код, который я использую, показан ниже. Ниже приводится пересмотренный код:Как пропустить пустую ячейку в столбце?
Private Sub txt_BPName1_Exit(ByVal cancel As MSForms.ReturnBoolean)
Dim ws As Worksheet
Dim Lrow As Long
Dim c As Range, rng As Range
Set ws = ThisWorkbook.Sheets("Sheet1")
With ws
Lrow = .Range("A" & .Rows.Count).End(xlUp).row
'Lrow = .Range("A" & .Rows.Count, 1).End(xlUp).Select
'Lrow = .Range("A65536").End(xlUp).row + 1
Set rng = .Range("A2:A" & Lrow)
End With
For Each c In rng
If c.Value = txt_BPName1 And c.Value <> "" Then
MsgBox "Cell " & c.Address & " Duplicate Found."
cancel = True
Exit Sub
End If
Next
MsgBox ("Base Product is not duplicate,Ok to Add")
Cells(Lrow + 1, 1).Value = txt_BPName1.Text
txt_BPName1.Text = ""
ActiveCell.Offset(1, 0).Select
End Sub
Значение становится вводится в пустую ячейку вместо одного под ним.
Что случилось с 'Lrow = .Range ("A" & .Rows.Count) .END (xlUp) .row'? – findwindow
Ошибка в том, что вы используете '.Select', пытаясь установить его в переменную. Включите это вместо '.Row'. Но это может быть не (скорее всего, не) решение вашей общей проблемы ... Вот почему эта ошибка происходит для вас. Вы могли бы попробовать выполнить 'If c.Value = txt_BPName1 и c.Value <>" "Then' – BruceWayne