2015-07-20 46 views
0

我有一張Excel表格,其中有四張表格,分別針對該國家(Scot,North,London,South)的每個區域。我需要創建一個數據輸入表單,它將允許用戶填充這些表格。理想情況下,一旦按下按鈕,表單將出現在另一個工作表上。我想要有四個不同的按鈕,每個按鈕都鏈接到四張桌子中的一張。這些表具有相同的列。Excel:如何在工作表中有4個表格時使用VBA打開數據輸入表格

這樣做的最好方法是什麼?我可以使用Excel的內置數據輸入表單,點擊表格然後按下Form。但是,這幾乎打破了表單的目的,思路是讓用戶結束。

我已經看過創建自己的表單的教程,但是我需要關於如何根據按下哪個按鈕來填充不同表格的信息。

在此先感謝。

回答

0

現在確定其不同的代碼,但你應該能夠適應你的形式。

Private Sub CommandButton1_Click() 
Dim Inp1 As String 
Dim Inp2 As String 

Inp1 = TextBox1.Text 

Inp2 = TextBox2.Text 

Range("B2").Select 
Do While ActiveCell.Value <> 0 
ActiveCell.Offset(1, 0).Select 
Loop 
ActiveCell.Value = Inp1 

Range("C2").Select 
Do While ActiveCell.Value <> 0 
ActiveCell.Offset(1, 0).Select 
Loop 
ActiveCell.Value = Inp2 

End Sub 
+0

感謝您的答覆。我遇到的問題是我有4個不同的表格需要在這1個工作表上填寫。簡單地找到第一個空行將不允許我填充每個表。有什麼辦法可以做到這一點?他們的想法是4個按鈕,每個按鈕一個,並且根據點擊的按鈕,該表將被填充。 – Math525

+0

我改變了代碼,現在它應該符合你的期望。但它只是用於2個文本框,因此您需要爲其他用戶表單執行此操作。 – Poof

+0

謝謝你的時間和精力。我確信上述解決方案是正確的,但它很難理解。我設法通過進行一天的研究來想出一個解決方案。我將在下面發佈它作爲未來任何人的答案。 – Math525

0

問過這個問題後,我設法找到了一個解決方案,我自己。我將把它列入,因爲這似乎是一個問題,沒有一個好的答案在線。該代碼是在本教程所示的例子中使用:

https://www.youtube.com/watch?v=5oXcct1mOUw

用於提交按鈕的代碼如下所示。這是爲9點或10返回的代碼,但能夠容易地調整

Private Sub CommandButton1_Click() 

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

'Add new row 
ws.ListObjects("Table1").ListRows.Add (1) 

'Populate new row 
ws.ListObjects("Table1").DataBodyRange(1, 1).Value = Me.name1.Value 
ws.ListObjects("Table1").DataBodyRange(1, 2).Value = Me.namecom.Value 
ws.ListObjects("Table1").DataBodyRange(1, 3).Value = Me.cin.Value 
ws.ListObjects("Table1").DataBodyRange(1, 4).Value = Me.hold.Value 
'DROPDOWN BOX 
ws.ListObjects("Table1").DataBodyRange(1, 5).Value = Me.fee.Value 
ws.ListObjects("Table1").DataBodyRange(1, 6).Value = Me.unam.Value 
ws.ListObjects("Table1").DataBodyRange(1, 7).Value = Me.capfin.Value 
ws.ListObjects("Table1").DataBodyRange(1, 8).Value = Me.month.Value 
ws.ListObjects("Table1").DataBodyRange(1, 9).Value = Me.comments.Value 


MsgBox "Data added", vbOKOnly + vbInformation, "Data Added" 

'clear the data 

Me.name1.Value = "" 
Me.namecom.Value = "" 
Me.cin.Value = "" 
Me.hold.Value = "" 
'DROPDOWN BOX 
Me.fee.Value = "" 
Me.unam.Value = "" 
Me.capfin.Value = "" 
Me.month.Value = "" 
Me.comments.Value = "" 

Me.name1.SetFocus 

`

相關問題