excel - 如何将值打印到下一个空行单元格中?
问题描述
我设计了一个 VBA 表单来收集用户的数据。但是,我希望允许用户多次填写表单,并且每次将填写的数据打印到 Excel 工作表中的适当单元格中,所以我希望 VBA 程序在没有用户的情况下查找工作表中的下一个空单元格手动查看并选择它。
Cells(lastRow, 1) = emplName
Cells(lastRow, 2) = depTxt
Cells(lastRow, 3) = emplNo
Cells(lastRow, 4) = mngrName
Cells(lastRow, 5) = ComboBox1.Value
例如,这五个值应该打印到第一行,如果再次使用表单,它应该找到下一个空行来打印这些值。
感谢您的时间。
解决方案
有很多方法可以使用 VBA 选择/检测 Excel 中的最后一行。我通常使用的最好的一个:
Function LastRow(wsName As String, Optional columnToCheck As Long = 1) As Long
Dim ws As Worksheet
Set ws = Worksheets(wsName)
LastRow = ws.Cells(ws.Rows.Count, columnToCheck).End(xlUp).Row
End Function
这是如何将它用于“E”列(第 5 列):
someLastRow = LastRow("WorksheetName", 5)
如果您有改进的想法,请随时进行 PR:https ://github.com/Vitosh/VBA_personal/blob/master/LastThings.vb
推荐阅读
- excel - 查找关键字并复制数据范围
- ruby-on-rails - 查询关联值
- angular - 可观察订阅两次
- mysql - 在 yii2 中运行原始 SQL 时出现 SQL 查询语法错误或访问冲突
- android - 如何使用“异步任务”获取存储在“房间”库中的所有行?
- c# - 从 Revit 加载项调用 Enity Framework 方法会导致 NotSupportedException
- php - Laravel 5.5 无法使用身份验证脚手架登录
- android - 当我想运行应用程序时,Android Studio 没有显示任何设备
- api - 如何通过 Ballerina 中的菜单驱动应用程序调用服务
- bash - Bash:如何在不使用 sed 或 awk 的情况下在 for 循环中获取文件的第 n 行