繁体   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