2016-02-22 87 views
0

我一直在尋找無處不在的問題的答案,要麼我一直無法找到一個或我不明白我找到的答案。在Excel中添加一行到Excel中使用VB

我在Excel 2013中有一個工作簿。我正在使用VBA將一些下拉列表和表格添加到工作簿中,以便於填寫。

我有一個用戶表單,有一些數據輸入字段,當你點擊「添加」時,它將信息添加到表格的最後一行。

這是用戶表單的代碼;

Private Sub Add_Click() 

Dim the_sheet As Worksheet 
Dim table_list_object As ListObject 
Dim table_object_row As ListRow 
Set the_sheet = Sheets("Structural") 
Set table_list_object = the_sheet.ListObjects(1) 
Set table_object_row = table_list_object.ListRows.Add 

table_object_row.Range(1, 1).Value = "Deck" 

last_row_with_data = the_sheet.Range("A" & Rows.Count).End(xlUp).Row 

the_sheet.Range("B" & last_row_with_data) = TextBox3 
the_sheet.Range("C" & last_row_with_data) = TextBox4 
the_sheet.Range("D" & last_row_with_data) = ComboBox1 

Unload Me 
End Sub 

再次,這工作完美,並做到我需要它做。

我有另一個用戶表單,我需要輸入數據,並讓它把數據放在表中的一行。但我不知道如何將數據添加到除最後一行之外的任何內容。

現在我有一個宏,當你點擊「添加」按鈕時運行;

Sub AddRow6Sheet3() 
    Application.ScreenUpdating = False 
    Rows("7:7").Insert Shift:=xlDown 
    Application.ScreenUpdating = True 
End Sub 

這很適合在第7行添加一行,這是我需要數據去的地方。但是我需要這些數據才能獲得輸入到創建的新行7中。這種形式將始終輸入到第7行。

但我也想知道如何將數據添加到任何行。因爲稍後在工作簿中,我將遇到類似的問題。

+0

[此引用可能會派上用場(http://www.thespreadsheetguru.com/blog/2014/6/20/the-vba-引導到的ListObject-Excel的表) –

回答

0

斯科特,那並沒有完全回答我的問題。但是那裏有很多有用的信息,而且這個鏈接的其中一個東西確實給了我一個想法,最終成爲我需要的東西。該工程的代碼如下 私人小組Add_Click()

Call AddRow6Sheet3 
ActiveSheet.ListObjects("Table13").ListRows.Add (7) 
    With Sheets("Misc Metals") 
    .Range("B7").Value = Me.ComboBox5.Value 
    .Range("C7").Value = Me.ComboBox1.Value 
    .Range("D7").Value = Me.ComboBox2.Value 
    .Range("E7").Value = Me.ComboBox3.Value 
    .Range("F7").Value = Me.ComboBox4.Value 
    .Range("G7").Value = Me.ComboBox6.Value 
End With 
Unload MeEnd Sub 

我還是用我是否需要宏觀和中ListRows.Add線播放。我知道沒有這個宏,它就無法正常工作。它只是似乎覆蓋了在第7行

感謝