我通过在VBA中格式化的SQL查询成功将数据导入excel:
<div class="selected-icon">
<i class="hummma"></i></div>
我想要让用户输入最新的当周结束日期,这会将@WeekEndDate参数更改为其条目,或者有一个单元格显示最近的周结束日期而无需用户输入(如果可能的话?)所有其他参数保持不变。我是vba的新手,并且没有太多的excel经验,任何帮助都表示赞赏。
**如果需要更多数据,可以编辑问题
答案 0 :(得分:0)
考虑一下:
Dim NodeId, SubsidiaryCd, WeekEndDate, JobType, ReportLevel
NodeId = 05
SubsidiaryCd = "1"
WeekEndDate = "2016-05-28"
JobType = "12"
ReportLevel = 4
.Open "exec sp_MyProcedure " & _
"@Node_Id = " & NodeId & "," & _
"@Subsidiary_Cd = '" & SubsidiaryCd & "'," & _
"@WeekEndDate = '" & WeekEndDate & "', " & _
"@JobType = '" & JobType & "'," & _
"@ReportLevel = " & ReportLevel
这与前一条指令完全相同;您现在只需要将WeekEndDate
变量的常量值更改为所需的日期,例如:
WeekEndDate = Format(Date(), "yyyy-mm-dd")
答案 1 :(得分:0)
首先,这取决于您认为某一周的最后一天。对于我的测试,我假设星期六。
其次,我假设&#34;最近一周&#34;,你的意思是最后一个星期(就像我们目前所处的那一周)。
第三,我假设您提供的代码段是您在VBA代码中集成的SQL。
因此,如果您在单元格A1中有=TODAY()
,则可以将以下公式放在单元格A2中,然后将您的VBA代码段更改为以下内容:
公式:=A1-WEEKDAY(A1)
.Open "exec sp_MyProcedure @Node_Id = 05,@Subsidiary_Cd = '1',@WeekEndDate = '" & ActiveSheet.Cells(2, 1).Value & "', @JobType = '12',@ReportLevel = 4"
从这里开始,您可以按照相同的想法自定义过程中的所有参数。