Office: Excel 2010 Externe Daten Quellen über VBA Makro aktualisieren

Helfe beim Thema Excel 2010 Externe Daten Quellen über VBA Makro aktualisieren in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich habe ein kleines Problem mit dem importieren von Daten aus einer .csv Datei. Mit dem Marko: Sub Daten_importieren() ' '... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Totte1987, 5. Dezember 2012.

  1. Totte1987 Erfahrener User

    Excel 2010 Externe Daten Quellen über VBA Makro aktualisieren


    Hallo zusammen,

    ich habe ein kleines Problem mit dem importieren von Daten aus einer .csv Datei.

    Mit dem Marko:
    Code:
    Sub Daten_importieren()
    '
    ' Daten_importieren Makro
    '
        ActiveWorkbook.RefreshAll
    End Sub
    
    
    will ich die Daten aus der .csv Datei in mein Excel Sheet importieren. Klappt auch wunderbar, nur leider muss ich immernoch von hand den Speicherpfad der Datei auswählen und auf improtieren klicken.

    Die Datei heißt immer gleich und liegt immer am selben Ort, da sollte es doch möglich sein, das ins Marko mit aufzunehmen oder?

    Nur wie ist die Frage?

    Vielen Dank für eure Hilfe.

    Gruß
     
    Totte1987, 5. Dezember 2012
    #1
  2. Exl121150 Erfahrener User
    Hallo,

    1) an die Stelle Deines bisherigen Makros die beiden folgenden Makros kopieren
    2) anstelle von "I:\Buchung.csv" Deinen Pfad zur CSV-Datei eingeben
    3) falls die linke obere Zelle für den Importbereich im aktiven Arbeitsblatt nicht die Zelle A1 ist, muss auch diese abgeändert werden.
    4) Ferner musst Du das Array, das der Eigenschaft ".TextFileColumnDataTypes" zugewiesen wird, an Deine Spalten der Importdatei anpassen.
    5) Beim erstmaligen Import der Daten aus der CSV-Datei ins aktive Arbeitsblatt das Makro "Import_CSV_Daten" aufrufen.
    6) Bei weiteren Importen der CSV-Datei in dieses Arbeitsblatt (Refreshing) das Makro "CSV_Import_aktualisieren" aufrufen.

    Code:
    Option Explicit
    
    Const Pfad_Datei$ = "[COLOR=#0000cd]I:\Buchung.csv[/COLOR]"
    Const LinkeObereEcke$ = "[COLOR=#0000cd]A1[/COLOR]"
    
    Public Sub Import_CSV_Daten()
    
      With ActiveSheet
      
        .Cells.Clear                               'Alle Zellen des aktiven Arbeitsblattes werden gelöscht
        
        With .QueryTables.Add(Connection:="TEXT;" & Pfad_Datei$, Destination:=Range(LinkeObereEcke$))
          .Name = "Buchungsbereich"                'Name des Bereiches
          .FieldNames = True                       'Feldbezeichner sind enthalten
          .RowNumbers = False                      'Keine Zeilennummern in der 1. Spalte
          .FillAdjacentFormulas = False            'Eventuell angrenzende Formeln werden nicht aktualisiert
          .PreserveFormatting = True               'Feldformatierung bleibt erhalten
          .RefreshOnFileOpen = False               'Beim Öffnen der Arbeitsmappe wird keine automatischer Import ausgeführt
          .RefreshStyle = xlInsertDeleteCells      'Hinzufügen/Löschen von Zellen für den benötigten Bereich
          .SavePassword = False
          .SaveData = True                         'Die Daten werden zusammen mit dem Bericht gespeichert
          .AdjustColumnWidth = True                'Feldbreite automatisch anpassen
          .RefreshPeriod = 0                       'Autom. Aktualisierungen sind deaktiviert
          .TextFilePromptOnRefresh = False         'Keine Angabe des Pfades/Dateinamens im Dateidialog
          .TextFilePlatform = 1252
          .TextFileStartRow = 1                    'Zeilen-Nr. in der sich die 1.Datenzeile befindet
          .TextFileParseType = xlDelimited         'Felder sind Zeichen-getrennt (keine festen Feldbreiten)
          .TextFileTextQualifier = xlTextQualifierDoubleQuote 'Doppelte Anführungszeichen als Textfeldkenner
          .TextFileConsecutiveDelimiter = False    'Aufeinanderfolgende Trennzeichen trennen leere Felder!
          .TextFileTabDelimiter = True             'Felder sind Tabulator-getrennt
          .TextFileSemicolonDelimiter = True       'Felder sind Strichtpunkt-getrennt
          .TextFileCommaDelimiter = False          'Felder sind nicht Komma-getrennt
          .TextFileSpaceDelimiter = False          'Felder sind nicht Leerzeichen-getrennt
          '
          'Import von Feldern/Spalten: 1=xlGeneralFormat, 2=xlTextFormat, 9=xlSkipColumn
          'Für jedes Feld/Spalte ist die Angabe einer dieser 3 Zahlen notwendig --> Anpassung an aktuelle Importdatei !!!
          .TextFileColumnDataTypes = Array(1, 1, 2, 1, 1, 1, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, _
                                           1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9)
          '                                 
          .TextFileTrailingMinusNumbers = True     'Zahlen, die mit "-" beginnen, werden als neg.Zahlen importiert
          .Refresh BackgroundQuery:=False          'Importaktualisierung erfolgt nicht im Hintergrund
        End With
      End With
        
    End Sub
    
    Public Sub CSV_Import_aktualisieren()
    
       With ActiveSheet.QueryTables
          .Item(1).Refresh
       End With
       
    End Sub
    
     
    Zuletzt bearbeitet: 7. Dezember 2012
    Exl121150, 7. Dezember 2012
    #2
  3. Totte1987 Erfahrener User
    Vielen Dank, klappt wunderbar.

    Super Anleitung :)
     
    Totte1987, 8. Dezember 2012
    #3
Thema:

Excel 2010 Externe Daten Quellen über VBA Makro aktualisieren

Die Seite wird geladen...
  1. Excel 2010 Externe Daten Quellen über VBA Makro aktualisieren - Similar Threads - Excel 2010 Externe

  2. bedingte Formatierung speichern

    in Microsoft Excel Hilfe
    bedingte Formatierung speichern: Liebe Community, Ich brauche standartmäßig eine recht komplexe bedingte Formatierung in meinen Excel-Dateien und möchte sie nicht jedes Mal neu anlegen. Ich arbeite mit Excel 2010. Libre- Office...
  3. Excel 2010 wandelt jede eingegeben zahl x in 0,x um

    in Microsoft Excel Hilfe
    Excel 2010 wandelt jede eingegeben zahl x in 0,x um: Hallo zusammen, befürchte nicht ganz neu das Thema, aber von mir nicht in den Griff zu kriegen...... Nutze 2010 prof. ==> wenn ich ein Zahl eingebe, dann wandelt Excel diese in eine Dezimalzahl...
  4. Schließen von mehreren Datein

    in Microsoft Excel Hilfe
    Schließen von mehreren Datein: Hallo Zusammen! Ich bin gerade dabei via VBA einen Code zu erstellen um beim öffnen eines Excel (MainDatei) immer ein weiteres (zweite Datei) zu öffnen. Sowie beim schließen der "MainDatei" ein...
  5. Teams-Gruppen-Call/Chat per VBA

    in Microsoft Excel Hilfe
    Teams-Gruppen-Call/Chat per VBA: Hallo VBA-Profis, aus einer XLS/VBA-Anwendung zur Verwaltung von Projektbeteiligten, will ich per Button die Kommunikation mit selektierten Kontakten starten (Call/Chat). Für einzeln selektierte...
  6. Excel Matrix: Search Value and provide value next to it

    in Microsoft Excel Hilfe
    Excel Matrix: Search Value and provide value next to it: I have an Excel table that is a bit messy with different dates below each other. User Date0 property0 Date1 property1 User1 28/10/21 1000 27/10/21 3000 User2 27/10/21 2000 26/10/21 300 User1...
  7. Excel-Adressliste mit Bild

    in Microsoft Excel Hilfe
    Excel-Adressliste mit Bild: Halten Sie die Adressliste mit den Bildern der Kontakte für hilfreich? Ich habe ein Benutzerformular erstellt, um Informationen wie Name, Telefonnummer und Adresse von Personen zu speichern....
  8. Benötige sehr variables Makro

    in Microsoft Excel Hilfe
    Benötige sehr variables Makro: Hallo zusammen, Ich benötige Hilfe für ein Makro wo ich nicht weiter komme.... Das Makro muss folgendes „Können“: 1. Seite „Tourenplan“ auswählen 2. Spalte B soll kopiert werden aber nur wenn...
  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.
    Information ausblenden