从表格插入数据到表格

我在Excel中创build了一个简单的表单,用于将数据插入电子表格。 我的表中有第2行的标题和第3行的空白表格。当我将数据表格input第一个空行时,它从第4行开始(表格下方的第一行)。 我想插入数据到现有的表格。 我怎样才能做到这一点?

这是我的forms添加button代码:

Private Sub Add_Click() TrackingDate = UserForm1.TrackingDate.Value INS = UserForm1.INS.Value COY = UserForm1.COY.Value Amount = UserForm1.Amount.Value InvoiceDate = UserForm1.InvoiceDate.Value InvoiceNumber = UserForm1.InvoiceNumber.Value PolicyNumber = UserForm1.PolicyNumber.Value Reminder = UserForm1.Reminder.Value Cheque = UserForm1.Cheque.Value Status = UserForm1.Status.Value Range("A" & Rows.Count).End(xlUp).Offset(1).Value = TrackingDate Range("B" & Rows.Count).End(xlUp).Offset(1).Value = INS Range("C" & Rows.Count).End(xlUp).Offset(1).Value = COY Range("D" & Rows.Count).End(xlUp).Offset(1).Value = Amount Range("E" & Rows.Count).End(xlUp).Offset(1).Value = InvoiceDate Range("F" & Rows.Count).End(xlUp).Offset(1).Value = InvoiceNumber Range("G" & Rows.Count).End(xlUp).Offset(1).Value = PolicyNumber Range("H" & Rows.Count).End(xlUp).Offset(1).Value = Reminder Range("I" & Rows.Count).End(xlUp).Offset(1).Value = Cheque Range("J" & Rows.Count).End(xlUp).Offset(1).Value = Status End Sub 

你的代码可以这样写:

 Private Sub Add_Click() Dim i&: i = [A:J].Find("*", , xlValues, , xlByRows, xlPrevious).Row + 1 'find the last empty row range("A:J") With UserForm1 Range("A" & i).Value = .TrackingDate.Value Range("B" & i).Value = .INS.Value Range("C" & i).Value = .COY.Value Range("D" & i).Value = .Amount.Value Range("E" & i).Value = .InvoiceDate.Value Range("F" & i).Value = .InvoiceNumber.Value Range("G" & i).Value = .PolicyNumber.Value Range("H" & i).Value = .Reminder.Value Range("I" & i).Value = .Cheque.Value Range("J" & i).Value = .Status.Value End With End Sub 

当您使用Range("A" & Rows.Count).End(xlUp)接近Excel“表”时,即使该单元格为空白,注册的第一个单元格也将是“表格”的最后一个单元格。 我没有testing过,但怀疑如果你的“表”是所有的值,那么它不会自动扩展自己,如果在空行下面input的东西。

您可以尝试在表格的最后一列中添加一个无害的公式,例如=Row() ,然后隐藏该列 – 然后该表应该自动扩展。