Supportnet Computer
Planet of Tech

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

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

Antwort 3 von OmaDuck

Hallo.
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.

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