[英]VBA Several UserForms export to Sheet
在我的工作簿中,我有幾個相同的用戶表單。 只有名字不同。 例如WKA1 / WKA2 / WKS1 / WKS2 / PM1 / PM2等等。
現在我想要,如果我單擊UserForm上的CommandButton,TextBoxes中的數據將保存在一個額外的工作表上。 我想要一個單獨的宏,所以我的CommandButton代碼如下所示:
Private Sub CommandButton1_Click()
Call Save_UF_Data
[NameOfUF].Hide
End Sub
問題是,我不知道如何在宏“Save_UF_Data”中寫入它始終從打開的UF獲取TextBox。
我已經試過了:
Me.Controls("TextBox1")
我希望有人能告訴我如何編寫我的宏將在我的工作簿中為每個UserForm工作的代碼。
到目前為止這是我的宏:
Public Sub Save_UF_Data()
Dim lastrow As Long
Dim a As Integer
Dim ws As Worksheet
Set ws = Worksheet("UserForm_Data")
lastrow = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row
a = 1
Do
ws.Range("A" & lastrow).Value = Me.Controls("Label" & a) ' How do i have to change this part that it takes the value from the userform which is open?
a = a + 1
lastrow = lastrow + 1
Loop Until a = 25
End Sub
您可以將調用表單Object作為參數傳遞給Sub:
Private Sub CommandButton1_Click()
Call Save_UF_Data(Me)
[NameOfUF].Hide
End Sub
Sub看起來像:
Public Sub Save_UF_Data(frm As UserForm)
Debug.Print frm.Controls("Textbox1")
(...)
End Sub
看看如何遍歷表單中的所有控件,包括子窗體中的控件 - Access 2007以了解如何訪問窗體的控件
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.