首页 > 解决方案 > 如何在用户窗体中的特定单元格上设置我的输入数据?

问题描述

我想开始从特定单元格添加数据并在另一个单元格处停止。从 I7:I10 到 T7:T10。但我想从用户窗体输入数据。但是每当我输入数据时,它都在说我在 Cell 16,000 上。

我有两个数据集,用户窗体中的一个选项卡运行良好,它将按行输入数据。但是对于另一个选项卡,我希望它在下一列中输入。顺便说一下,我有低于 I7 的数据。但有些区域是空白的,有些是数据。Userform 中的一个选项卡转到一个名为 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 都在同一列。我想像这样与他们一起获得下一个专栏。

我希望我说得通。谢谢你。

标签: excelvbauserform

解决方案


如果您要查找最后使用的列右侧的列,请尝试以下操作:两张纸,一张名为 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 中选择的任何行的最右边使用的列的右侧的列。


推荐阅读