Excel CSV import via VBA - out of memory error

Diskutiere und helfe bei Excel CSV import via VBA - out of memory error im Bereich Microsoft Office im Windows Info bei einer Lösung; Hello, since beginning of December, I'm experiencing problems with VBA based combined HTML/CSV import to an Excel 2016 workbook. The code imports one... Dieses Thema im Forum "Microsoft Office" wurde erstellt von jml_60311, 28. Dezember 2017.

  1. jml_60311
    jml_60311 Gast

    Excel CSV import via VBA - out of memory error


    Hello,


    since beginning of December, I'm experiencing problems with VBA based combined HTML/CSV import to an Excel 2016 workbook. The code imports one text-only HTML file and six CSV files from the internet by querytables per loop. The overall size of these files is less than 30 kB. This used to return "runtime error '7': not enough memory." after 50+x loops, which was not perfect for me, but acceptable. Since exactly Dec 4th, the script cannot even complete ONE loop.


    This problem seems to have been described many times before, but none of the workarounds I found on Microsoft or other sites helped. To describe the adjustments I already tried:


    environment:

    - running the script on Excel 2016 64 and 32 bit versions on Windows 10

    - running it on different workstations, with 2 (Win 10), 8 and 32 GB RAM (both Win 7)

    - installing the Large Adress Aware Update, which by notification of the Office updater already seems to be part of Excel 2016

    - adjusting/enlarging the parameter SharedSection in the registry ("HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\SubSystems")


    code:

    - clearing the clipboard after every import (Application.CutCopyMode = False) - that means, after every single imported file, 7 times per loop

    - saving the file after every import

    - trying to reduce the size of the worksheet that the files were originally imported to, by saving them to an array and clearing the worksheet afterwards

    - running the script from outside the workbook to be able to close and reopen it after every import, hoping to clear the memory by this.

    - all of the above combined.


    Apart from the points mentioned above and of course "installing the latest update" or "running the troubleshoot manager", I would really appreciate every idea and promise to try it and give feedback what works. The original code that worked until Dec 3rd can be found below.


    Thank you and best regards!


    Sub Import_Master()
    Dim Link_P As String
    Dim Link_IS As String
    Dim Link_BS As String
    Dim Link_CF As String
    Dim Link_KR As String
    Dim Link_MC As String
    Dim Stocks_no As Single
    Dim i, j, k, m, n As Single

    Stocks_no = Sheets("Ticker").Cells(1, 1).Value
    j = Worksheets("Evaluation").Cells(1, 1).Value
    k = (j - 1) * 50
    Worksheets("CRD").Cells.ClearContents
    n = Application.WorksheetFunction.Min(50, Stocks_no - k)

    For i = 1 To n

    m = k + i

    Link_P = Sheets("Ticker").Cells(m + 1, 2).Value
    Link_IS = Sheets("Ticker").Cells(m + 1, 3).Value
    Link_BS = Sheets("Ticker").Cells(m + 1, 4).Value
    Link_CF = Sheets("Ticker").Cells(m + 1, 5).Value
    Link_KR = Sheets("Ticker").Cells(m + 1, 6).Value
    Link_MC = Sheets("Ticker").Cells(m + 1, 7).Value
    Link_CP = Sheets("Ticker").Cells(m + 1, 8).Value

    With Worksheets("CRD").QueryTables.Add(Connection:= _
    Link_P, Destination:=Worksheets("CRD").Cells(1, 12 * i - 11))
    .Name = "ISU_2"
    .FieldNames = True
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = True
    .RefreshOnFileOpen = False
    .BackgroundQuery = False
    .RefreshStyle = xlInsertDeleteCells
    .SavePassword = False
    .SaveData = True
    .AdjustColumnWidth = True
    .RefreshPeriod = 0
    .WebSelectionType = xlEntirePage
    .WebFormatting = xlWebFormattingNone
    .WebPreFormattedTextToColumns = True
    .WebConsecutiveDelimitersAsOne = True
    .WebSingleBlockTextImport = False
    .WebDisableDateRecognition = True
    .WebDisableRedirections = True
    .Refresh BackgroundQuery:=False
    End With

    With Worksheets("CRD").QueryTables.Add(Connection:= _
    Link_IS _
    , Destination:=Worksheets("CRD").Cells(20, 12 * i - 11))
    .Name = "IS_XETR:DAI"
    .FieldNames = True
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = True
    .RefreshOnFileOpen = False
    .BackgroundQuery = False
    .RefreshStyle = xlInsertDeleteCells
    .SavePassword = False
    .SaveData = True
    .AdjustColumnWidth = False
    .RefreshPeriod = 0
    .TextFilePromptOnRefresh = False
    .TextFilePlatform = 437
    .TextFileStartRow = 1
    .TextFileParseType = xlDelimited
    .TextFileTextQualifier = xlTextQualifierDoubleQuote
    .TextFileConsecutiveDelimiter = False
    .TextFileTabDelimiter = True
    .TextFileSemicolonDelimiter = False
    .TextFileCommaDelimiter = True
    .TextFileSpaceDelimiter = False
    .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1)
    .TextFileDecimalSeparator = "."
    .TextFileThousandsSeparator = ","
    .TextFileTrailingMinusNumbers = True
    .Refresh BackgroundQuery:=False
    End With

    With Worksheets("CRD").QueryTables.Add(Connection:= _
    Link_BS _
    , Destination:=Worksheets("CRD").Cells(70, 12 * i - 11))
    .Name = "BS_XETR:DAI"
    .FieldNames = True
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = True
    .RefreshOnFileOpen = False
    .BackgroundQuery = False
    .RefreshStyle = xlInsertDeleteCells
    .SavePassword = False
    .SaveData = True
    .AdjustColumnWidth = False
    .RefreshPeriod = 0
    .TextFilePromptOnRefresh = False
    .TextFilePlatform = 437
    .TextFileStartRow = 1
    .TextFileParseType = xlDelimited
    .TextFileTextQualifier = xlTextQualifierDoubleQuote
    .TextFileConsecutiveDelimiter = False
    .TextFileTabDelimiter = True
    .TextFileSemicolonDelimiter = False
    .TextFileCommaDelimiter = True
    .TextFileSpaceDelimiter = False
    .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1)
    .TextFileDecimalSeparator = "."
    .TextFileThousandsSeparator = ","
    .TextFileTrailingMinusNumbers = True
    .Refresh BackgroundQuery:=False
    End With

    With Worksheets("CRD").QueryTables.Add(Connection:= _
    Link_CF _
    , Destination:=Worksheets("CRD").Cells(130, 12 * i - 11))
    .Name = "CF_XETR:DAI"
    .FieldNames = True
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = True
    .RefreshOnFileOpen = False
    .BackgroundQuery = False
    .RefreshStyle = xlInsertDeleteCells
    .SavePassword = False
    .SaveData = True
    .AdjustColumnWidth = False
    .RefreshPeriod = 0
    .TextFilePromptOnRefresh = False
    .TextFilePlatform = 437
    .TextFileStartRow = 1
    .TextFileParseType = xlDelimited
    .TextFileTextQualifier = xlTextQualifierDoubleQuote
    .TextFileConsecutiveDelimiter = False
    .TextFileTabDelimiter = True
    .TextFileSemicolonDelimiter = False
    .TextFileCommaDelimiter = True
    .TextFileSpaceDelimiter = False
    .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1)
    .TextFileDecimalSeparator = "."
    .TextFileThousandsSeparator = ","
    .TextFileTrailingMinusNumbers = True
    .Refresh BackgroundQuery:=False
    End With

    With Worksheets("CRD").QueryTables.Add(Connection:= _
    Link_KR _
    , Destination:=Worksheets("CRD").Cells(180, 12 * i - 11))
    .Name = "KR_XETRDAI"
    .FieldNames = True
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = True
    .RefreshOnFileOpen = False
    .BackgroundQuery = False
    .RefreshStyle = xlInsertDeleteCells
    .SavePassword = False
    .SaveData = True
    .AdjustColumnWidth = False
    .RefreshPeriod = 0
    .TextFilePromptOnRefresh = False
    .TextFilePlatform = 437
    .TextFileStartRow = 1
    .TextFileParseType = xlDelimited
    .TextFileTextQualifier = xlTextQualifierDoubleQuote
    .TextFileConsecutiveDelimiter = False
    .TextFileTabDelimiter = True
    .TextFileSemicolonDelimiter = False
    .TextFileCommaDelimiter = True
    .TextFileSpaceDelimiter = False
    .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1)
    .TextFileDecimalSeparator = "."
    .TextFileThousandsSeparator = ","
    .TextFileTrailingMinusNumbers = True
    .Refresh BackgroundQuery:=False
    End With

    With Worksheets("CRD").QueryTables.Add(Connection:= _
    Link_MC _
    , Destination:=Worksheets("CRD").Cells(300, 12 * i - 11))
    .Name = "MC_XETRDAI"
    .FieldNames = True
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = True
    .RefreshOnFileOpen = False
    .BackgroundQuery = False
    .RefreshStyle = xlInsertDeleteCells
    .SavePassword = False
    .SaveData = True
    .AdjustColumnWidth = False
    .RefreshPeriod = 0
    .TextFilePromptOnRefresh = False
    .TextFilePlatform = 437
    .TextFileStartRow = 1
    .TextFileParseType = xlDelimited
    .TextFileTextQualifier = xlTextQualifierDoubleQuote
    .TextFileConsecutiveDelimiter = False
    .TextFileTabDelimiter = True
    .TextFileSemicolonDelimiter = False
    .TextFileCommaDelimiter = True
    .TextFileSpaceDelimiter = False
    .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1)
    .TextFileDecimalSeparator = "."
    .TextFileThousandsSeparator = ","
    .TextFileTrailingMinusNumbers = True
    .Refresh BackgroundQuery:=False
    End With

    Next

    With Worksheets("CRD")
    For i = .QueryTables.Count To 1 Step -1
    .QueryTables(i).Delete
    Next
    End With

    End Sub
     
  2. Claus Busch Win User

    Excel 2016 64 Bit, RAM Belegung wenn Abfragen vorhanden

  3. Bernhard Fischer [MV Win User

    Einträge aus einen Terminkalender Exceldaten in Project importieren

    Hallo Thomas,

    so verständlich Dein Ansinnen auch ist. Aber out of the box ist das mit Project nicht zu machen. Hierzu müsst Ihr schon eine Lösung mit Hilfe von VBA programmieren.

    Ein Import aus Excel ist allenfalls auf Vorgangsebene möglich, wenn für jede Abwesenheit eine eigene Zeile mit zugewiesener Ressource in Excel erzeugt wird. An die Ressourcenkalender kommt man ohne Entwicklung nicht ran.

    Beste Grüße

    Bernhard Fischer
  4. Andreas Killer Win User

    Excel Zahlen Formatierung

    Das ist eine FAQ in der Community:

    Niemals auf eine CSV im Windows-Explorer doppelklicken um diese in Excel zu öffnen. Keine Ausnahme, NIEMALS!

    Eine CSV-Datei ist eine Textdatei, sie enthält keinerlei Informationen welche Codierung oder Dezimalzeichen noch Trennzeichen verwendet werden.

    Eine CSV-Datei muss IMMER importiert werden, nur so kann man mittels des Import-Assistenten sicherstellen das die Daten korrekt übernommen werden.

    Also entweder via

    Daten \ Öffnen \ Durchsuchen \ Textdateien als Dateityp \ Öffnen \ dann kommt der Import-Assistent

    oder via

    Daten \ Neue Abfrage \ Aus Datei \ Aus CSV und dann ggf. in Power Query die entsprechende Kodierung und Formate wählen.

    Andreas.
  5. Andreas Thehos Win User

    Datenbank -> php -> CSV-> EXCEL

    Hallo,

    öffnest Du die CSV mit einem Doppelklick direkt in Excel oder importierst Du die CSV in Excel?

    Beim Import kannst Du den Import TEXT für die Telefon-Vorwahlen wählen.

    Zudem sollte das Hochkomma ' bei Excel nicht angezeigt werden.

    Beste Grüße

    Andreas
  6. RalphNottery Win User

    Import von Outlook2011 in Outlook2016 für MAC funktioniert nicht

    Hi!

    Mein Name ist Ralph und ich bin heute hier, um Ihnen zu helfen.

    Bitte überprüfen Sie den folgenden Link, der nützlich sein kann:

    https://support.microsoft.com/de-lu/help/279919...

    Ich hoffe das hilft dir und lass es mich wissen, wenn du andere Fragen hast.

    Einen schönen Tag noch! :)

    Beste Grüße!
  7. User Advert


    Hi,

    willkommen im Windows Forum!
Thema:

Excel CSV import via VBA - out of memory error - Microsoft Office

Die Seite wird geladen...

Excel CSV import via VBA - out of memory error - Similar Threads - Excel CSV import

Forum Datum

Excel CSV Import

Excel CSV Import: Hallo ihr lieben, und zwar geht es darum, dass ich in eine Excel Tabelle Daten importieren möchteKundenstatistiken , was auch alles funktioniert mit dem Abruf und so.Mein Problem ist allerdings,...
Microsoft Office 5. Mai 2022

CSV Import

CSV Import: Hallo zusammen,ich nutze regelmäßig Excel um Daten aus CSV Dateien zu importieren in Templates Excel Dateien, welche bereits in angrenzenden Spalten Formeln beinhalten zu weiteren Verarbeitung...
Microsoft Office 2. Mai 2022

Excel Import csv oder text ohne Autofilter

Excel Import csv oder text ohne Autofilter: Hallo zusammen,beim Importieren von CSV oder txt Dateien wird immer ein Autofilter angewendet.Wenn ich den Filter anschließend entferne, kann ich keinen anderen Filter in einer anderen Zeile...
Microsoft Office 5. Mai 2021

mistaken "out of cloud storage" error

mistaken "out of cloud storage" error: How can I get OneNote to sync again? My OneNote won't sync and it says that my cloud is out of storage, but when I look it up my OneDrive folder says it more than 80% free space. And that is...
Microsoft Office 30. September 2019

CSV-Import

CSV-Import: Liebe Community, ich habe folgendes Problem beim Import einer CSV-Datei in Excel. Ich habe in der CSV in einer Spalte u.a. die Werte 1 und 10 mit einem Komma getrennt. Beim Öffnen als auch beim...
Microsoft Office 23. Juli 2018

csv Import in Excel 2016

csv Import in Excel 2016: Hallo Beim Importieren von .csv-Dateien in Excel gibt es bei mir einen Bug: Ich importiere die Datei per Daten -> Externe Daten abrufen -> Aus Text. Danach öffnet sich der...
Microsoft Office 1. Dezember 2016

Excel Datenformat für csv - import

Excel Datenformat für csv - import: Es ist ein immer wiederkehrendes Thema und ich finde die Lösung nicht: Auf einer Internetseite kann man etwas eingeben, speichern ... Ich kann das exportieren auf meinen PC. Der Text wird dabei...
Microsoft Office 16. Oktober 2016
Excel CSV import via VBA - out of memory error solved
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.