excel - Excel VBA查找单元格的最后一行并添加数据
问题描述
我正在为用户制作一个用户表单,以便在收据中输入项目及其数量和价格,因为我想锁定整个工作表,以便我的员工无法编辑收据视图。我想要做的是当用户已经添加第一个项目(第 16 行)并想要添加另一个项目时,该项目被添加到第一个项目下方的行中(第 17 行)。我已经编写了代码,但问题是它没有检测到数据的最后一行,所以它一直覆盖第一行,即第 16 行并且不会下降到第 17 行。
有人可以帮我修复代码吗?
Private Sub btnSubmit_Click()
Dim lastRow2 As Long, m As Variant, str As String
Dim rng1, cell1 As Range
If tbQty.Value > 0 Then
lastRow2 = ThisWorkbook.Sheets("sheet1").Range("A16" & Rows.Count).End(xlUp).Row+1
Sheets("sheet1").Range("A" & lastRow2).Value = tbProduk.Value
Sheets("sheet1").Range("C" & lastRow2).Value = Val(tbQty.Value)
Sheets("sheet1").Range("D" & lastRow2).Value = Val(tbPrice.Value)
End If
tbProduk.Value = ""
tbQty.Value = ""
tbPrice.Value = ""
tbProduk.SetFocus
End Sub
解决方案
请更换:
lastRow2 = ThisWorkbook.Sheets("sheet1").Range("A16" & Rows.Count).End(xlUp).Row + 1
和
lastRow2 = ThisWorkbook.Sheets("sheet1").Range("A" & ThisWorkbook.Sheets("sheet1").Rows.Count).End(xlUp).Row + 1
或更好:
Dim sh as Worksheet
Set Sh = ThisWorkbook.Sheets("sheet1")
lastRow2 = Sh.Range("A" & Sh.Rows.Count).End(xlUp).Row + 1
推荐阅读
- r - 填充向量直到另一个向量中的给定条件
- reactjs - setInterval 无法在反应中访问变量
- c# - Unity 将事物放入变量中
- c# - “至少版本 X”Nuget 依赖声明?
- if-statement - 需要一些帮助,根据三个 3 信号变量编写具有不同位置的策略
- javascript - 上传卡住了
- haskell - 如何安装 ghcjs 8.8 或 8.10?
- java - 似乎 JPA spring.jpa.hibernate.ddl-auto=update 不起作用
- java - 如果我的程序在执行失败时以状态 1 退出,如果执行成功,我是否还必须包含状态为 0 的退出?
- javascript - 多维输入:克隆现有项目时更新索引