【发布时间】:2013-08-05 06:28:56
【问题描述】:
我相当精通 Excel VBA(有很多在线帮助!!)......但我偶然发现了一个让我完全难过的问题。
我正在为项目规划创建甘特图。我的问题是我希望让用户指定项目开始日期和项目结束日期,然后让电子表格填充从开始日期到结束日期的列。
查看基本布局:
我已经用 InputBoxes 触底了用户输入
Sub Set_Project_Start_Date()
' Written 2nd August 13
' P.J. Callaghan
'
ActiveSheet.Select
Dim projStartDate
showInputBox_Start:
projStartDate = Application.InputBox("Please enter Project Start Date" & Chr(10) & "Must be a Monday" & Chr(10) & "Format is: dd/mm/yyyy")
' Set Message Box such that clicking cancel ends the sub-routine for projStartdate variable
If projStartDate = False Then
MsgBox "You clicked the Cancel button, Input Box will close.", 64, "Cancel was clicked."
Exit Sub
ElseIf projStartDate = "" Then
MsgBox "You must click Cancel to exit.", 48, "You clicked Ok but entered nothing."
GoTo showInputBox_Start
Else
MsgBox "You entered " & projStartDate & ".", 64, "Please click OK to resume."
Range("c6").Select
With Selection
.Value = projStartDate
.NumberFormat = "dd-mmm-yy"
End With
Range("e10").Select
With Selection
.Value = projStartDate
.NumberFormat = "dd-mmm-yy"
.Orientation = 90
End With
End If
End Sub
Sub Set_Project_End_Date()
' Written 2nd August 13
' P.J. Callaghan
'
ActiveSheet.Select
Dim projEndDate
showInputBox_End:
projEndDate = Application.InputBox("Please enter Project End Date" & Chr(10) & "Must be a Monday" & Chr(10) & "Format is: dd/mm/yyyy")
' Set Message Box such that clicking cancel ends the sub-routine for projStartdate variable
If projEndDate = False Then
MsgBox "You clicked the Cancel button, Input Box will close.", 64, "Cancel was clicked."
Exit Sub
ElseIf projEndDate = "" Then
MsgBox "You must click Cancel to exit.", 48, "You clicked Ok but entered nothing."
GoTo showInputBox_End
Else
MsgBox "You entered " & projEndDate & ".", 64, "Please click OK to resume."
Range("c7").Select
With Selection
.Value = projEndDate
.NumberFormat = "dd-mmm-yy"
End With
End If
End Sub
我坚持的一点是编写代码以仅从开始日期填充到结束日期。我敢肯定这一定是某种循环安排……我还没有弄明白。
我想知道你们中是否有人可以提出解决方案?
提前致谢,
保罗
【问题讨论】:
-
“让电子表格填充从开始日期到结束日期的列”是什么意思?
-
嗨 Tarik,我希望电子表格使用用户定义的项目开始日期(变量 projStartDate)填充单元格 e10,然后使用从项目开始日期到项目结束的每个日期填充第 10 行中的所有后续列日期。一旦单元格值达到项目结束日期(变量 projEndDate)的值,我希望宏停止填充。我正在寻找的功能是一个图表,范围从用户定义的开始日期到用户定义的项目结束日期。