2016-06-28 50 views
1

我正在尝试编写一个宏来自动执行销售管道电子表格。我目前的维度与今天的日期一样,因此连续两天不会一样。引用命名工作表和单元格VBA

我想要宏中的公式将表格名称更改为今天的日期,但是我现在无法做到这一点。

Sub GetPivotData() 

    Dim sToday As String 
    sToday = Format(Date, "dd.mm.yy") 

    Range("C2").Select 
    ActiveCell.FormulaR1C1 = _ 
    "=IFERROR(GETPIVOTDATA(""Opportunity"",'28.06.16'!R34C28,""Status"",""Open"",""Probability"",20,""Sales Territory"",R[2]C[6]),0)" 

    Range("C3").Select 

    End Sub 

我希望能够改变'28 .06.16' 参考‘sToday’维度,因为它改变了每一天,但不允许它。能否请你帮忙。

+0

“......这是不允许的。”。你在任何地方遇到错误吗? – BruceWayne

+1

'“= IFERROR(GETPIVOTDATA(”“Opportunity”“,'”&sToday&“'!R34C28”,“Status”,“”Open“”,“Probability”“,20,”Sales Territory“ ,R [2] C [6]),0)“' –

回答

2

将变量连接到公式字符串中。

Option Explicit 

Sub GetPivotData() 

    Dim sToday As String 
    sToday = Format(Date, "dd.mm.yy") 

    With Worksheets("Sheet1") '<~~ you should know what worksheet you are on! 
     .Range("C2").FormulaR1C1 = _ 
      "=IFERROR(GETPIVOTDATA(""Opportunity"",'" & sToday & "'!R34C28,""Status"",""Open"",""Probability"",20,""Sales Territory"",R[2]C[6]),0)" 

    End With 

End Sub 
0

试试这个:

Application.workbooks( “YourWorkbook”)片( “YourSheetname”)名称= sToday

相关问题