2
我试图创建一个函数或子函数来在VBA Excel中创建报表。我希望用户将两个日期输入到两个单独的文本框中。然后,当点击提交按钮时,它检查文本框是否为空,如果不是,则它会执行CreateReport()子或函数,该函数会创建一个新工作表并将数据附加到该工作表。这里是我的代码:VBA Excel中的子函数或函数
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
你是否有问题?如果是这样,在哪里?是否有错误,还是只是不能产生你所期望的? – Kyle
唯一的错误是,userforum中的CreateReport()是红色的。 –
如果你不是*返回一个值,那么不要创建一个'Function' * - 改用'Sub'/procedure。 –