Supportnet / Forum / Tabellenkalkulation
Excel-Import ohne Daten zu überschreiben
Frage
Hallöchen allerseits,
ich möchte eine .txt-Datei importieren. Das ist auch (mittlerweile :) ) kein problem. Aber ich möchte bestimmte Daten in bestimmte Spalten importieren. Dafür habe ich die txt-Datei einfach in ein Excel-Arbeitsblatt (wie Zwischenablage) importiert und dann Spalte A in die Spalte B ( Ziel Arbeitsblatt) kopiert. Mit einem Makro erfolgt das ganze automatisch. Ist zwar keine elegante Lösung aber wenigsten etwas:). So meine Frage: Das Problem ist, dass schon in der Ziel-Spalte B Daten vorhanden sind ( ca. 450 Daten), beim kopieren werden mir diese Daten überschrieben. Aber es sollen die importierten Daten (ca. 4100) hinzu kommen. Ich möchte alle Daten ( ca. 4500) in einem Arbeitsblatt.
Könnt ihre mir bitte da weiter helfen?? Ich selber hab in Makros bzw. VBA keine Ahnung. Ich weiß nicht wie ich es schreiben, dass mein makro nur in leere Zeile kopiert / importiert und nichtleere einfach so lässt.
Bin auf jede Lösung dankbar. Machs gut.
Viele Grüße
nikita77
Antwort 1 von Saarbauer
Hallo,
da der aufbau deines Makros mir nicht bekannt ist, nur eine kleine Hilfe.
Du musst deine Kopierfunktion so abändern, dass die nächste freie Zeile genommen wird. Mit
=Range("B65536").End(xlUp).Row
kannst du die Letzte Belegte Zeile in Spalte B ermitteln und mit
Range( "A" & Range("B65536").End(xlUp).Row+1).Selcet
setzt du deinen Startpunkt auf die nächste freie Zelle in Spalte A und dann alle Zeilen aus einer Tabelle rüberkopieren
Gruß
Helmut
da der aufbau deines Makros mir nicht bekannt ist, nur eine kleine Hilfe.
Du musst deine Kopierfunktion so abändern, dass die nächste freie Zeile genommen wird. Mit
=Range("B65536").End(xlUp).Row
kannst du die Letzte Belegte Zeile in Spalte B ermitteln und mit
Range( "A" & Range("B65536").End(xlUp).Row+1).Selcet
setzt du deinen Startpunkt auf die nächste freie Zelle in Spalte A und dann alle Zeilen aus einer Tabelle rüberkopieren
Gruß
Helmut
Antwort 2 von nikita77
Hallo Helmut,
zuerst einmal vielen Dank für deine Hilfe. Nun habe ich aber Probleme beim kompilieren. Es tritt die Fehlermeldung auf:
"Unzulässige Verwendung einer Eigenschaft" und markiert .Row
Da ich 0 Ahnung habe, weiss ich nicht wie ich weiter machen soll:)
Hier mal ein Ausschnitt:
Range("A1:A4100").Select
Selection.Copy
Sheets("Zss_Ztg").Select
Range("B65536").End(xlUp).Row
ActiveSheet.Paste
Range("A" & Range("B65536").End(xlUp).Row + 1).Selcet
Application.CutCopyMode = False
With Selection
.WrapText = True
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Danke im Voraus
Viele Grüße
nil
zuerst einmal vielen Dank für deine Hilfe. Nun habe ich aber Probleme beim kompilieren. Es tritt die Fehlermeldung auf:
"Unzulässige Verwendung einer Eigenschaft" und markiert .Row
Da ich 0 Ahnung habe, weiss ich nicht wie ich weiter machen soll:)
Hier mal ein Ausschnitt:
Range("A1:A4100").Select
Selection.Copy
Sheets("Zss_Ztg").Select
Range("B65536").End(xlUp).Row
ActiveSheet.Paste
Range("A" & Range("B65536").End(xlUp).Row + 1).Selcet
Application.CutCopyMode = False
With Selection
.WrapText = True
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Danke im Voraus
Viele Grüße
nil
Antwort 3 von OmaDuck
Hallo.
wahrscheinlich ist nur der falsch geschriebene select.
es ist nicht selcet sondern select
Gruß
OmaDuck
wahrscheinlich ist nur der falsch geschriebene select.
es ist nicht selcet sondern select
Gruß
OmaDuck
Antwort 4 von nikita77
Hallo OmaDuck
danke für deine Anrwort aber daran liegt es auch nicht. Habe es korrigiert aber trotzdem erscheint die Fehlermeldung.
danke für deine Anrwort aber daran liegt es auch nicht. Habe es korrigiert aber trotzdem erscheint die Fehlermeldung.
Antwort 5 von Saarbauer
Hallo,
was du hier schreibst geht nicht ,
Range("B65536").End(xlUp).Row
da es sich hier um eine Zuweisung handelt, daher hatte ich auch geschrieben
=Range("B65536").End(xlUp).Row
vor das = musst du eine Variabele setzen
Gruß
Helmut
was du hier schreibst geht nicht ,
Range("B65536").End(xlUp).Row
da es sich hier um eine Zuweisung handelt, daher hatte ich auch geschrieben
=Range("B65536").End(xlUp).Row
vor das = musst du eine Variabele setzen
Gruß
Helmut

