簡體   English   中英

VBA幾個UserForms導出到Sheet

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM