2012-10-28 93 views
1

我試圖使用將表單值插入到我的Excel電子表格中,但我當前的代碼將值插入到同一行中。使用VBA將表單值插入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 

回答

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 
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 
+0

由於它的作品真的好。但由於某種原因,我遇到了總是跳過第3行的問題。儘管它是表格中當前第一個空行,但它會跳過它,並從第4行開始。任何想法如何解決此問題? – methuselah

+0

@methuselah上面的代碼實際上並不使用'ws'。它在ActiveSheet上工作。 – brettdj

+0

Sry,我離開了......但我看到你有你的答案:) – salih0vicX

相關問題