Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.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
SSIS导出到Excel模板-VLOOKUP_Excel_Vba_Ssis - Fatal编程技术网

SSIS导出到Excel模板-VLOOKUP

SSIS导出到Excel模板-VLOOKUP,excel,vba,ssis,Excel,Vba,Ssis,客户机具有必须使用的确切模板。由于格式问题,我无法通过SSIS将数据直接插入模板 创意: 按计划运行SSIS。它复制模板并填充信息 我在同一个工作簿中使用了一个“参考”表来将所有必要的数据推送到,因为我无法将其直接放在所需的模板中 “参考”表的VLOOKUPs用于正确设置模板中的数据 问题:VLOOKUP不会自动刷新数据。打开工作簿时,值是相同的。如果我更改了引用表中的一个单元格,那么VLOOKUPs中的数据将更新 解决方案:我需要的是一种在SSIS中设置数据的方法,并在打开Excel工作簿时让

客户机具有必须使用的确切模板。由于格式问题,我无法通过SSIS将数据直接插入模板

创意: 按计划运行SSIS。它复制模板并填充信息

我在同一个工作簿中使用了一个“参考”表来将所有必要的数据推送到,因为我无法将其直接放在所需的模板中

“参考”表的VLOOKUPs用于正确设置模板中的数据

问题:VLOOKUP不会自动刷新数据。打开工作簿时,值是相同的。如果我更改了引用表中的一个单元格,那么VLOOKUPs中的数据将更新

解决方案:我需要的是一种在SSIS中设置数据的方法,并在打开Excel工作簿时让VLOOKUPs自动重新检查数据。

已解决问题 我已经用以下方法解决了这个问题

问题 如果不手动打开/更改受影响单元,VLOOKUPs将不会在打开时更新

=VLOOKUP(A1,Reference!$A2:$B6, 2, FALSE)
找到解决方案 有点老套,但在参考工作表中:

  • 向模板中添加了“格式”行
  • 在VLOOKUP reference列(reference!$A2)中,将要更新的公式(例如“=TODAY()”)放在“Format”行中
  • 现在,无论何时打开工作簿,请参考$A$2更新为今天的日期。这会触发模板中的VLOOKUPs进行更新,因为引用列中的值已更改。整个过程是:

  • Template.xlsx(2张:TemplateResults和Reference)
  • SSIS-复制当前运行的Template.xlsx
  • SSIS-在Template.xlsx中提取数据并放置-参考
  • 打开CopiedTemplate.xlsx:参考$A$2自动更新到当前日期。在TemplateResults中触发VLOOKUPs以更新自身

  • vba宏。。。如果数据仅在首次打开时需要检查/更新,而不是每次打开时都需要检查/更新,则此功能非常有用。下面是我使用的宏。与上面的=TODAY()相同,但只更新一次值。(见下文)
    Private Sub Workbook\u Open()Dim数据表作为Sheet2 Dim dateCell作为Range Dim firstValueCell作为Range Dim sMyString作为字符串集数据表=工作表(“参考”)集数据表=数据表。Range(“B2”)集第一值单元格=数据表。Range(“A3”)如果dateCell=“WAIT”和firstValueCell“”然后dateCell.Value=“HOLD”如果结束子项,则结束