【问题标题】:Inserting form values into Excel spreadsheet using VBA使用 VBA 将表单值插入 Excel 电子表格
【发布时间】:2015-03-26 21:30:26
【问题描述】:

我正在尝试使用 将表单值插入到我的 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

【问题讨论】:

    标签: vba excel vba


    【解决方案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
    

    【讨论】:

      【解决方案2】:

      如果您有任何问题或疑虑,请尝试此方法并告诉我们:

      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
      

      【讨论】:

      • 感谢它真的很好用。但是我遇到了一个问题,它总是出于某种原因跳过第 3 行。即使它是表上当前的第一个空行,它也会跳过它并从第 4 行开始。知道如何解决这个问题吗?
      • @methuselah 上面的代码实际上并没有使用ws。它适用于 ActiveSheet。
      • 对不起,我不在了……但我知道你得到了答案:)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-15
      • 1970-01-01
      • 2011-12-14
      • 1970-01-01
      • 1970-01-01
      • 2015-04-07
      相关资源
      最近更新 更多