首页 > 解决方案 > 如何将值打印到下一个空行单元格中?

问题描述

我设计了一个 VBA 表单来收集用户的数据。但是,我希望允许用户多次填写表单,并且每次将填写的数据打印到 Excel 工作表中的适当单元格中,所以我希望 VBA 程序在没有用户的情况下查找工作表中的下一个空单元格手动查看并选择它。

Cells(lastRow, 1) = emplName
Cells(lastRow, 2) = depTxt
Cells(lastRow, 3) = emplNo
Cells(lastRow, 4) = mngrName
Cells(lastRow, 5) = ComboBox1.Value

例如,这五个值应该打印到第一行,如果再次使用表单,它应该找到下一个空行来打印这些值。

感谢您的时间。

标签: excelvba

解决方案


有很多方法可以使用 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


推荐阅读