Sub或VBA Excel中的函数

我试图创build一个函数或子在VBA Excel中创build报表。 我希望用户将两个dateinput到两个单独的文本框中。 然后当提交button被点击时,它会检查文本框是否为空,如果不是,它会执行CreateReport()Sub或者函数来创build一个新的表单并向其中添加数据。 这是我的代码:

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 

当没有inputdate时,您正在调用CreateReport

 CreateReport(Value1,Value2) 

应该

 CreateReport Value1, Value2 

除非您正在调用函数或使用Call关键字,否则不要使用括号。

 Set WS = Sheets.Add.Name = FullName 

应该可能是

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