Повторите действие для ввода большего количества данных для пользовательской формы Excel - PullRequest
0 голосов
/ 20 июня 2019

Как непрофессионал, но проводил исследования для ускорения ввода данных в Excel, я разработал пользовательскую форму Excel с «разделенными строками и столбцами» для каждого текстового поля «Актеры» и «Paxs».При первоначальном вводе запись была в порядке, но при повторении информация перезаписывала последние.Я не знаю, как настроить такую ​​перезапись.Я что-то там пропускаю?посоветуйте, пожалуйста.

Private Sub cmdIn_Click()

Dim RowCnt As Long
Dim Actors As Variant
Dim ColNum1 As Variant
Dim j As Integer
Dim Paxs As Variant
Dim ColNum2 As Variant
Dim k As Integer

Dim ws As Worksheet
Set ws = Worksheets("ActPaxs")

RowCnt = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row

RowCnt = 2
Actors = Split(Me.TxtActors.Value, vbCrLf)
    For Each r In Actors
        j = 1
        ColNum1 = Split(r, ", ")
    For Each c In ColNum1
        ws.Cells(RowCnt, j).Value = c
      j = j + 1
    Next c
      RowCnt = RowCnt + 1
  Next r

RowCnt = 2
Paxs = Split(Me.TxtPaxs.Value, vbCrLf)
    For Each p In Paxs
        k = 4
        ColNum2 = Split(p, ", ")
    For Each q In ColNum2
        ws.Cells(RowCnt, k).Value = q
      k = k + 1
    Next q
        RowCnt = RowCnt + 1
  Next p


TxtActors.Text = ""
TxtPaxs.Text = ""

End Sub

Как повторить тот же код, чтобы добавить больше данных, а не перезаписать существующие?

1 Ответ

0 голосов
/ 20 июня 2019
RowCnt = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row

RowCnt = 2

удалить второй экземпляр, который жестко кодирует строку 2, первый экземпляр обнаруживает последнюю использованную строку и смещения на 1

Изменить: у вас есть еще один экземпляр RowCnt = 2 ниже в коде, удалите его тоже.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...