#excel #vba
Вопрос:
Я пытаюсь добавить новые данные в лист Excel с помощью формы пользователя, но она не записывается непрерывно. просто замените значение диапазона E2 и его строк.
Примечание:Если данные уже существуют, обновите соответствующие столбцы или запишите новые данные в следующую пустую строку.
мой код приведен ниже.
Option Explicit
Private Sub cmdAdd_Click()
Dim FindValue As String, Rng As Range
Dim iRow As Long, ws2 As Worksheet
Set ws2 = Worksheets("ITEM NAMES")
iRow = ws2.Cells(Rows.Count, 2).End(xlUp).Row 1
FindValue = TextItemName
If Trim(FindValue) <> "" Then
With ws2.Range("E:E")
Set Rng = .Find(What:=FindValue, _
After:=.Cells(1), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False)
If Not Rng Is Nothing Then
Rng.Offset(0, 1) = TextHSNCode.Value
Else
ws2.Cells(iRow, 5).Value = TextItemName.Value
ws2.Cells(iRow, 6).Value = TextHSNCode.Value
End If
End With
End If
End Sub
Комментарии:
1. Вам нужно будет включить что-то, чтобы найти последнюю использованную строку и записать свои данные в следующую строку. Есть тысячи других вопросов, на которые уже есть ответы о том, как это сделать. Ищите здесь или в Google 🙂
2. Вы пишете в столбцы 5 и 6, но используете последнюю строку в столбце 2. Возможно, измените на
iRow = ws2.Cells(Rows.Count, 5).End(xlUp).Row 1
3. Спасибо тебе Mr.@CDP1802, Ты сделал мой день лучше. Проблема решена