1

将表单值插入到我的 Excel 电子表格中,但我当前的代码正在将值插入到同一行中。

  1. 由于我的表从第 3 行开始,我想从那里开始,并通过每次自动转移到下一行来继续。行已经设置,我不想插入新行但会覆盖当前的“空”行。
  2. 当输入 202 行(可用的最大行数)时,我希望电子表格返回一个错误消息对话框。

我怎样才能实现这一目标?

当前代码

    Private Sub btnSubmit_Click()

    Dim ws As Worksheet
    Set ws = Worksheets("main")

    ' Copy the data to the database
    ws.Rows("4:4").Insert Shift:=xlDown
    ws.Range("A3").Value = cbo_deptCode.Value
    MsgBox ("Booking request has been successfully made")

End Sub
4

2 回答 2

1

请试试这个,如果您有任何问题或疑虑,请告诉我们:

Sub Button1_Click()
    Dim ws As Worksheet
    Dim i As Long
    Set ws = Worksheets("main")

    ' Copy the data to the database
    i = Cells(Rows.Count, 1).End(xlUp).Row + 1 'Get last empty cell in column A
    If i > 202 Then
        MsgBox "Row 203"
        Exit Sub
    End If

    Range("A" & i).Value = cbo_deptCode.Value
    MsgBox ("Booking request has been successfully made")
End Sub
于 2012-10-28T11:01:03.603 回答
1

像这样的东西

Private Sub btnSubmit_Click()
    Dim ws As Worksheet
    Dim rng1 As Range
    Set ws = Worksheets("main")
    Set rng1 = ws.Cells(Rows.Count, "a").End(xlUp)
    If rng1.Row > 202 Then
    MsgBox "202 Rows exceeded"  
    Else
    rng1.Offset(1, 0) = cbo_deptCode.Value
    End If
End Sub
于 2012-10-28T11:44:30.927 回答