我尝试编写一个宏,根据用户输入的日期范围对数据求和。我已经得到了代码,以获取用户输入范围并验证它是一个日期,并将其转换为与我的数据文件中的标题的语法相匹配,但我无法计算如何仅对该日期范围内的月份求和,每次运行宏时日期范围都会发生变化。
这是screenshot of the workbook。如果用户输入1/1/16和3/31/16,我需要"数量总和"是2016年1月,2月和3月的数量之和。对于"成本总和,同样需要。"同一个工作表上有多个表需要进行此操作,并且将继续添加更多表,月和列。
以下是该文件的链接,如果您想查看格式:https://www.dropbox.com/s/bc5okk684livm3a/TestFile_DateSum.xlsx?dl=0
这是我现有的代码:
Sub DateRange()
Dim dateString As String, TheDate As Date
Dim dateString2 As String, TheDate2 As Date
Dim valid As Boolean: valid = True
Dim valid2 As Boolean: valid2 = True
Do
dateString = Application.InputBox("Enter Start Date in xx/xx/xx format: ")
If IsDate(dateString) Then
TheDate = DateValue(dateString)
valid = True
Else
MsgBox "Invalid date"
valid = False
End If
Loop Until valid = True
Do
dateString2 = Application.InputBox("Enter End Date in xx/xx/xx format: ")
If IsDate(dateString2) Then
TheDate2 = DateValue(dateString2)
valid2 = True
Else
MsgBox "Invalid date"
valid2 = False
End If
Loop Until valid2 = True
Application.Calculation = xlManual
[C3] = TheDate
[C4] = TheDate2
StartMonth = Month(TheDate) & "/1/" & Year(TheDate)
EndMonth = Month(TheDate2) & "/1/" & Year(TheDate2)
'Application.Calculate
'Application.Calculation = xlAutomatic
End Sub
非常感谢任何帮助!