excel - 将数据添加到特定范围的列
问题描述
我有一个用户表单,我想添加一些单元格数据,每次我用新数据完成文本框时。我尝试了 for 但它不会通过第一行。
Dim i As Integer
For i = 19 To 33
Cells(i, 4) = TextBox1.Value
Cells(i, 5) = TextBox2.Value
Cells(i, 6) = TextBox3.Value
Cells(i, 7) = TextBox4.Value
Cells(i, 8) = TextBox5.Value
TextBox1.Value = ""
TextBox2.Value = ""
TextBox3.Value = ""
TextBox4.Value = ""
TextBox5.Value = ""
Next i
End Sub
这是我正在制作的表格的一部分:
如果我使用 Variatus 提供的编码,它会将数据插入到我需要的范围之外的单元格中。我以前尝试过,但它也发生在我身上。这就是为什么我尝试使用 for 和循环或 do/while 来查看围绕这些单元格范围的方式。
(我展示的示例是插入 D 列/第 19 行,第一个 TextBox1 值)
解决方案
我不是 100% 我理解您想要实现的目标,但如果您只想在“D”列中添加下一行数据,您可以使用下面的内容。
我包含的函数LastRow
将确定在指定列的指定工作表中包含数据的最后一行 - 在调用子例程中向该数字添加 1 只会将数据连续添加到下一个可用行。希望这可以帮助。
Private Sub CommandButton1_Click()
Dim i As Integer
i = LastRow("Sheet1", "D") + 1
Cells(i, 4) = TextBox1.Value
Cells(i, 5) = TextBox2.Value
Cells(i, 6) = TextBox3.Value
Cells(i, 7) = TextBox4.Value
Cells(i, 8) = TextBox5.Value
TextBox1.Value = ""
TextBox2.Value = ""
TextBox3.Value = ""
TextBox4.Value = ""
TextBox5.Value = ""
End Sub
Function LastRow(wsheet As String, col As String) As Long
Dim ws As Worksheet
Set ws = ActiveWorkbook.Sheets(wsheet)
LastRow = ws.Cells(Rows.Count, col).End(xlUp).Row
End Function
推荐阅读
- javascript - Geochart 未在 Internet Explorer 上显示工具提示
- python - 有没有办法将两个安装程序捆绑在一起?(尤其是对于 python 程序)
- perl - 如何像在调用例程中一样取消引用子例程中的哈希并对其进行处理?
- php - strtotime 返回不正确的时间戳
- java - 如何在java中创建消息查询处理方法?
- r - 如何在ggraph(R)中对具有相似属性的顶点进行分组?
- data-structures - Redis 的交集——Where 的类比
- r - 如何计算 10 个区间的值的标准差?
- sql - 使用分组和标题对 SSRS 表进行序列号
- python - 如何在kivy中访问原始图像数据?