Как настроить мои входные данные в определенной ячейке в пользовательской форме? - PullRequest
0 голосов
/ 30 апреля 2019

Я хочу начать добавлять данные из определенной ячейки и остановиться на другой ячейке. От I7: I10 до T7: T10. Но я хочу ввести данные из пользовательской формы. Но всякий раз, когда я вводил данные, он говорит, что я нахожусь в ячейке 16 000 кое-что.

У меня есть два набора данных, и одна вкладка в пользовательской форме работает хорошо, она будет вводить данные в строках. Но для другой вкладки я бы хотел, чтобы она вводилась в следующем столбце. У меня есть данные ниже I7, кстати. Но некоторые области пустые, а некоторые с данными. Одна из вкладок из пользовательской формы находится на отдельном листе с именем Employee, а другая - в TestCal.

Private Sub CBSave_Click()

Dim lrEmp as Long
Dim lrCal as Long

'This part work fine
lrEmp = Sheets("Employee").Range("A" & Rows.Count).End(xlUp).Row
With Sheets("Employee")
    .Cells(lrEmp + 1, "A").Value = tbEmpID.Text
    .Cells(lrEmp + 1, "B").Value = tbName.Text
    .Cells(lrEmp + 1, "C").Value = tbLast.Text
End With

'This is the part I am having trouble with
lcCal = Sheets("TestCal").Range("Sales") .End(xlToLeft).Column
With Sheets("TestCal")
     .Cells(lrCal, "I").Value = tbApple.Text
     .Cells(lrCal + 1, "I").Value = tbOrange.Text
     .Cells(lrCal + 2, "I").Value = tbBanana.Text
End With

End Sub

Я думаю, что неправильно настроил свой столбец, как бы настроить, где следующий ввод данных пойдет вправо. Прямо сейчас, ввод данных по какой-то причине вводится до 16 000 ячеек.

** Забыл упомянуть, что tbApple, tbOrange и tbBanana находятся в одном столбце. Я хочу получить следующий столбец с ними, как это.

Надеюсь, у меня есть смысл. Спасибо.

Ответы [ 2 ]

0 голосов
/ 30 апреля 2019

Не уверен, откуда 7 - 10, может быть, 7 - заголовок?

'This is the part I am having trouble with
lcCal = Sheets("TestCal").Cells(7,columns.count).End(xlToLeft).Column + 1
With Sheets("TestCal")
     .Cells(8, lcCal).Value = tbApple.Text
     .Cells(9, lcCal).Value = tbOrange.Text
     .Cells(10, lcCal).Value = tbBanana.Text
End With

End Sub
0 голосов
/ 30 апреля 2019

Если вы пытаетесь найти столбец справа от последнего использованного столбца, попробуйте следующее: два листа, один с именем Testcal и один с именем Main.

Private Sub TestCal()
lccal = Sheets("TestCal").Cells(1, Columns.Count).End(xlToLeft).Column + 1
Sheets("Main").Cells(1, 1) = lccal
End Sub

Возвращает столбец справа от самого правого используемого столбца, какой бы строки вы не выбрали в Testcal.

...