【发布时间】:2018-08-30 08:09:10
【问题描述】:
我正在尝试将在用户表单中输入的数据保存到不同的工作表中。
我目前遇到的问题是,其中一张表 VBA 必须查找要添加它的特定行,但另一张表将是插入数据的历史记录,因此它需要在下一个空闲行中插入数据。
我有这段代码可以用来查找并插入第一张纸:
Private Sub pSave()
Dim rw As Integer
Dim ws As Worksheet
Set ws = Worksheets("Hardware")
'Takting the inserted values from the userform and inserting them into the spreadsheet
totRows = Worksheets("Hardware").Range("A4").CurrentRegion.Rows.Count
For i = 2 To totRows
If Trim(Worksheets("Hardware").Cells(i, 1)) = Trim(ComboBox_PCNameChoose.Value) Then
'Inserting them into the Hardware sheet (The main sheet)
Worksheets("Hardware").Cells(i, 12).Value = TextBox_Name.Text
Worksheets("Hardware").Cells(i, 13).Value = TextBox_Email.Text
Worksheets("Hardware").Cells(i, 14).Value = TextBox_PhoneNumber.Text
Worksheets("Hardware").Cells(i, 15).Value = DTPicker_Borrow.Value
Worksheets("Hardware").Cells(i, 16).Value = DTPicker_Return.Value
Exit For
End If
Next i
我知道这可以在另一个用户表单中用于将数据插入下一个空闲行,但我不知道如何在同时保存在两张表中时让它工作
Dim rw As Integer
Dim ws2 As Worksheet
Set ws2 = Worksheets("Rental_History")
If rw = ws2.Cells.Find(What:="*", Searchorder:=xlRows, SearchDirection:=Previous, LookIn:=xlValues).Row + 1 Then
ws2.Cells(rw, 10).Value = TextBox_Name.Text
ws2.Cells(rw, 11).Value = TextBox_Email.Text
ws2.Cells(rw, 12).Value = TextBox_PhoneNumber.Text
ws2.Cells(rw, 13).Value = DTPicker_Borrow.Value
ws2.Cells(rw, 14).Value = DTPicker_Return.Value
End If
提前感谢您的时间和帮助! :)
最好的问候 - 基拉
【问题讨论】:
-
运行这段代码时会发生什么?在代码的第二部分放一个断点并检查 rw ,它是什么?