Thema Datum  Von Nutzer Rating
Antwort
Rot Excel VBA .csv Import in Tabelle, Spalte x
22.08.2016 14:57:12 Animus
Solved
22.08.2016 15:47:50 Gast67604
Solved
22.08.2016 18:23:14 Gast41352
NotSolved

Ansicht des Beitrags:
Von:
Animus
Datum:
22.08.2016 14:57:12
Views:
1235
Rating: Antwort:
 Nein
Thema:
Excel VBA .csv Import in Tabelle, Spalte x

Hallo,

in eine Tabelle füge ich per Makro eine *.csv Datei ein. In der csv Datei befinden sich z.B. 3 Datensätze.

Diese werden auch einwandfrei eingefügt. Jetzt möchte ich aber, dass die Datensätze nicht am Anfang der Tabelle, sondern, dass sie ab Spalte F

eingefügt werden sollen(A-F sollen leerstehen).

Hier das Makro, was ich benutze:

Sub Datei_Importieren()
  Dim strFileName As String, arrDaten, arrTmp, lngR As Long, lngLast As Long, intLastS As Long
  Const cstrDelim As String = ";" 'Trennzeichen
  
  Call Tabelle_Leeren  'Tabelle leeren
  
  With Application.FileDialog(msoFileDialogFilePicker)
    .AllowMultiSelect = False
    .Title = "Datei wählen"
    .InitialFileName = "c:\test\*.csv"  'Pfad anpassen
    If .Show = -1 Then
      strFileName = .SelectedItems(1)
    End If
  End With
  
  If strFileName <> "" Then
    Application.ScreenUpdating = False
    Open strFileName For Input As #1
    arrDaten = Split(Input(LOF(1), 1), vbCrLf)
    Close #1
    For lngR = 1 To UBound(arrDaten)
      arrTmp = Split(arrDaten(lngR), cstrDelim)
      If UBound(arrTmp) > -1 Then
        With Tabelle4
         ' intLastS = Cells(1, Columns.Count).End(xlToLeft).Column + 1
          lngLast = .Cells(Rows.Count, 1).End(xlUp).Row + 1
          lngLast = Application.Max(lngLast, 1)
          .Cells(lngLast, 1).Resize(, UBound(arrTmp) + 1) _
            = Application.Transpose(Application.Transpose(arrTmp))
        End With
      End If
    Next lngR
  End If
  

End Sub

Die Zeile:  
 lngLast = Application.Max(lngLast, 1)
          .Cells(lngLast, 1).Resize(, UBound(arrTmp) + 1)
habe ich so verändert: 
lngLast = Application.Max(lngLast, 1)
          .Cells(lngLast, 6).Resize(, UBound(arrTmp) + 1)

Jedoch wird nur der letzte Datensatz immer ab Spalte F eingefügt, sonst nichts.
Weiß jemand, woran das liegen könnte?
 

MfG, Animus


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Excel VBA .csv Import in Tabelle, Spalte x
22.08.2016 14:57:12 Animus
Solved
22.08.2016 15:47:50 Gast67604
Solved
22.08.2016 18:23:14 Gast41352
NotSolved