<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic macro hangs in for loop because QV cannot update table fast enough in QlikView</title>
    <link>https://community.qlik.com/t5/QlikView/macro-hangs-in-for-loop-because-QV-cannot-update-table-fast/m-p/160587#M503901</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;Try adding the following line in your macro, it might be worthwhile adding this in after each function that takes a bit of time, this will force QVW to wait until it is free to continue:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE style="overflow-x: scroll;"&gt;&lt;PRE style="margin: 0px;"&gt;ActiveDocument.GetApplication.WaitForIdle&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 20 Nov 2009 22:36:20 GMT</pubDate>
    <dc:creator />
    <dc:date>2009-11-20T22:36:20Z</dc:date>
    <item>
      <title>macro hangs in for loop because QV cannot update table fast enough</title>
      <link>https://community.qlik.com/t5/QlikView/macro-hangs-in-for-loop-because-QV-cannot-update-table-fast/m-p/160586#M503900</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am using the code below to export portions of the table into different files. The table has over 20,000 rows with 50+ columns. When the code enters the for loop for the first time, it executes fine but when it enters the next go around, it stops at the Paste line saying it cannot export because there is no data. When I exit the macro window and go back to the application, surely the table is empty, but when I click the regions and then come back, the data is populated. When the data is blank it says, "Allocated Memory Exceeded" but in the Task Manager, I am only at 500MB ram consumption from a total of 2GB.&lt;/P&gt;&lt;P&gt;I wonder what can I do to make the exports work in the for loop to breakout by region i.e. a loop and reduce but not to a qvw but to an excel.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE ___default_attr="plain" class="jive_text_macro jive_macro_code" jivemacro="code"&gt;&lt;BR /&gt; &lt;B&gt;&lt;BR /&gt;Sub&lt;BR /&gt;&lt;/B&gt;&lt;B&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/B&gt; exportList&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;B&gt;&lt;BR /&gt;'Declare and set variable to master chart with all columns&lt;BR /&gt;&lt;/B&gt;&lt;B&gt;&lt;BR /&gt;Dim&lt;BR /&gt;&lt;/B&gt;&lt;B&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/B&gt;&lt;BR /&gt; &lt;B&gt;&lt;BR /&gt;Set&lt;BR /&gt;&lt;/B&gt;&lt;B&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/B&gt;&lt;BR /&gt; &lt;B&gt;&lt;BR /&gt;Dim&lt;BR /&gt;&lt;/B&gt;&lt;B&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/B&gt;&lt;BR /&gt; &lt;B&gt;&lt;BR /&gt;Set&lt;BR /&gt;&lt;/B&gt;&lt;B&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/B&gt;&lt;BR /&gt; &lt;B&gt;&lt;BR /&gt;Dim&lt;BR /&gt;&lt;/B&gt;&lt;B&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/B&gt;&lt;BR /&gt; &lt;B&gt;&lt;BR /&gt;Set&lt;BR /&gt;&lt;/B&gt;&lt;B&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/B&gt;&lt;BR /&gt;&lt;BR /&gt; lastDateStamp = ActiveDocument.Variables("varLastRefreshDate") lastDateStamp currentDateStamp = ActiveDocument.Variables("varCurrentRefreshDate") currentDateStamp exportedDataObject = ActiveDocument.GetSheetObject("CH01") exportedDataObject&lt;BR /&gt;&lt;B&gt;&lt;BR /&gt;Dim&lt;BR /&gt;&lt;/B&gt;&lt;B&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/B&gt;&lt;BR /&gt; fileName&lt;BR /&gt;fileName = "C:\QlikView\Regions\weekly file "&lt;BR /&gt;&lt;BR /&gt;&lt;B&gt;&lt;/B&gt;&lt;B&gt;&lt;BR /&gt;Dim&lt;BR /&gt;&lt;/B&gt;&lt;B&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/B&gt; &lt;B&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/B&gt; &lt;B&gt;&lt;BR /&gt;Set&lt;BR /&gt;&lt;/B&gt;&lt;B&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/B&gt;&lt;BR /&gt; XLApp = &lt;B&gt;CreateObject&lt;/B&gt;("Excel.Application")&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;XLApp.Visible =&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;False&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;dim&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt; regions&lt;BR /&gt;&lt;STRONG&gt;set&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt; regions = ActiveDocument.Fields("Region").GetPossibleValues&lt;BR /&gt;&lt;B&gt;&lt;BR /&gt;For&lt;BR /&gt;&lt;/B&gt;&lt;B&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/B&gt;&lt;BR /&gt; i =0 to regions.Count&lt;BR /&gt;&lt;B&gt;'- 1&lt;BR /&gt;'msgbox(regions.Item(i).Text)&lt;BR /&gt;&lt;/B&gt;(i = regions.Count) &lt;B&gt;then&lt;/B&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;XLApp.Workbooks.Open fileName &amp;amp; lastDateStamp.GetContent.&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;String&lt;/STRONG&gt; &amp;amp; " Mgt.xls", True, &lt;STRONG&gt;False&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;Set&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt; XLWB = XLApp.Application.ActiveWorkbook&lt;BR /&gt;&lt;B&gt;&lt;BR /&gt;Set&lt;BR /&gt;&lt;/B&gt;&lt;B&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/B&gt;&lt;BR /&gt; XLWS = XLWB.Worksheets("Combined")&lt;BR /&gt;&lt;BR /&gt;ActiveDocument.Fields(&lt;BR /&gt;"Region").SelectAll&lt;BR /&gt;&lt;B&gt;&lt;BR /&gt;Set&lt;BR /&gt;&lt;/B&gt;&lt;B&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/B&gt;&lt;BR /&gt; exportedDataObject = ActiveDocument.GetSheetObject("CH02")&lt;BR /&gt;&lt;BR /&gt;exportedDataObject.CopyTableToClipboard&lt;BR /&gt;&lt;B&gt;True&lt;/B&gt;&lt;BR /&gt;&lt;BR /&gt;XLWS.Paste XLWS.Range(&lt;BR /&gt;"A1")&lt;BR /&gt;&lt;BR /&gt;XLWB.SaveAs fileName &amp;amp; currentDateStamp.GetContent.&lt;BR /&gt;&lt;B&gt;String&lt;/B&gt; &amp;amp; " Mgt.xls"&lt;BR /&gt;&lt;BR /&gt;&lt;B&gt;&lt;BR /&gt;Else&lt;BR /&gt;&lt;BR /&gt;&lt;/B&gt;&lt;BR /&gt;&lt;BR /&gt;XLApp.Workbooks.Open fileName &amp;amp; lastDateStamp.GetContent.&lt;BR /&gt;&lt;B&gt;String&lt;/B&gt; &amp;amp; " Region " &amp;amp; regions.Item(i).Text &amp;amp; ".xls", &lt;B&gt;True&lt;/B&gt;, &lt;B&gt;False&lt;/B&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;B&gt;&lt;BR /&gt;Set&lt;BR /&gt;&lt;/B&gt;&lt;B&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/B&gt;&lt;BR /&gt;&lt;BR /&gt; XLWB = XLApp.Application.ActiveWorkbook&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;B&gt;Set&lt;/B&gt; XLWS = XLWB.Worksheets("Combined")&lt;BR /&gt;&lt;BR /&gt;ActiveDocument.Fields(&lt;BR /&gt;"Region"). &lt;B&gt;Select&lt;/B&gt;(regions.Item(i).Text)&lt;BR /&gt;&lt;B&gt;&lt;BR /&gt;Set&lt;BR /&gt;&lt;/B&gt;&lt;B&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/B&gt;&lt;BR /&gt; exportedDataObject = ActiveDocument.GetSheetObject("CH02")&lt;BR /&gt;&lt;BR /&gt;exportedDataObject.CopyTableToClipboard&lt;BR /&gt;&lt;B&gt;True&lt;/B&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;XLWS.Paste XLWS.Range(&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;"A1"&lt;/STRONG&gt;)&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;XLWB.SaveAs fileName &amp;amp; currentDateStamp.GetContent.&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;String&lt;/STRONG&gt; &amp;amp; " Region" &amp;amp; regions.Item(i).Text &amp;amp; ".xls"&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;End&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt; &lt;STRONG&gt;If&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;XLWB.Close&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;ActiveDocument.Clear&lt;BR /&gt;&lt;STRONG&gt;Next&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;XLApp.Quit&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;Set&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt; XLApp = &lt;STRONG&gt;Nothing&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;B&gt;&lt;BR /&gt;Set&lt;BR /&gt;&lt;/B&gt; &lt;B&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/B&gt;&lt;BR /&gt; XLWB = &lt;B&gt;Nothing&lt;/B&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;Set&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt; XLWS = &lt;STRONG&gt;Nothing&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Nov 2009 21:59:53 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/macro-hangs-in-for-loop-because-QV-cannot-update-table-fast/m-p/160586#M503900</guid>
      <dc:creator>avastani</dc:creator>
      <dc:date>2009-11-20T21:59:53Z</dc:date>
    </item>
    <item>
      <title>macro hangs in for loop because QV cannot update table fast enough</title>
      <link>https://community.qlik.com/t5/QlikView/macro-hangs-in-for-loop-because-QV-cannot-update-table-fast/m-p/160587#M503901</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;Try adding the following line in your macro, it might be worthwhile adding this in after each function that takes a bit of time, this will force QVW to wait until it is free to continue:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE style="overflow-x: scroll;"&gt;&lt;PRE style="margin: 0px;"&gt;ActiveDocument.GetApplication.WaitForIdle&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Nov 2009 22:36:20 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/macro-hangs-in-for-loop-because-QV-cannot-update-table-fast/m-p/160587#M503901</guid>
      <dc:creator />
      <dc:date>2009-11-20T22:36:20Z</dc:date>
    </item>
    <item>
      <title>macro hangs in for loop because QV cannot update table fast enough</title>
      <link>https://community.qlik.com/t5/QlikView/macro-hangs-in-for-loop-because-QV-cannot-update-table-fast/m-p/160588#M503902</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Tried this, the macro ran for over 2 hours and just didn't produce a single Excel output. If I remove it though, the first one is created in less than 2 minutes. Goes to say that something is wrong with QV not refreshing the chart object properly?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Nov 2009 23:47:19 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/macro-hangs-in-for-loop-because-QV-cannot-update-table-fast/m-p/160588#M503902</guid>
      <dc:creator>avastani</dc:creator>
      <dc:date>2009-11-20T23:47:19Z</dc:date>
    </item>
  </channel>
</rss>

