簡體   English   中英

VBA Excel中的子或功能

[英]Sub or Function in VBA Excel

我正在嘗試在VBA Excel中創建函數或子報表來創建報告。 我希望用戶在兩個單獨的文本框中輸入兩個日期。 然后,當單擊“提交”按鈕時,它將檢查文本框是否為空,然后檢查文本框是否為空,然后執行CreateReport()子函數或函數,以創建新工作表並將數據附加到該工作表中。 這是我的代碼:

Userform2:

Private Sub Cancel_Click()
 Unload Me
End Sub

Private Sub Submit_Click()

If UserForm2.Date1.Value = "" & UserForm2.Date2.Value = "" Then

Value1 = UserForm2.Date1.Value
Value2 = UserForm2.Date2.Value
CreateReport(Value1,Value2)

End If

End Sub

Private Sub UserForm_Initialize()
Date1.SetFocus
Dim Value1 As String
Dim Value2 As String
End Sub

模塊1:

Option Explicit
Public Function CreateSheet(Name1 As String, Name2 As String)
Dim WS As Worksheet
Dim FullName As String
FullName = Name1 & "-" & Name2
Set WS = Sheets.Add.Name = FullName
End Function

Public Sub CreateReport(Date1 As String, Date2 As String)

End Sub

您沒有輸入任何日期時就調用CreateReport ...

CreateReport(Value1,Value2)

應該

CreateReport Value1, Value2

除非您要調用函數或使用Call關鍵字,否則不要使用括號。

Set WS = Sheets.Add.Name = FullName

應該是

Set WS = Sheets.Add()
WS.Name = FullName

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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