Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用户输入日期范围内的Excel VBA总和数据_Vba_Excel - Fatal编程技术网

用户输入日期范围内的Excel VBA总和数据

用户输入日期范围内的Excel VBA总和数据,vba,excel,Vba,Excel,我试图编写一个宏,它将根据用户输入的日期范围对数据求和。我已经编写了代码来获取用户输入范围并验证它是否为日期,以及将其转换为与数据文件中标题的语法相匹配,但是我很难确定如何仅对该日期范围内的月份求和,每次运行宏时,日期范围都会发生更改 这是一本书。如果用户输入1/1/16和3/31/16,我需要“数量总和”是2016年1月、2月和3月的数量总和。“成本总和”也需要这样做。同一张工作表上有多个表需要这样做,更多的表、月和列将继续添加 如果您想查看格式,请参阅指向该文件的链接: 这是我现有的代码:

我试图编写一个宏,它将根据用户输入的日期范围对数据求和。我已经编写了代码来获取用户输入范围并验证它是否为日期,以及将其转换为与数据文件中标题的语法相匹配,但是我很难确定如何仅对该日期范围内的月份求和,每次运行宏时,日期范围都会发生更改

这是一本书。如果用户输入1/1/16和3/31/16,我需要“数量总和”是2016年1月、2月和3月的数量总和。“成本总和”也需要这样做。同一张工作表上有多个表需要这样做,更多的表、月和列将继续添加

如果您想查看格式,请参阅指向该文件的链接:

这是我现有的代码:

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

任何帮助都将不胜感激

您真的需要在vba中执行此操作吗?理想情况下,是的。你有其他的建议吗?if语句(也许还有数组公式)?如果我不能找到VBA的解决方案,这可能就是我必须走的路线。