Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro zum Kopieren von Werten

Forumthread: Makro zum Kopieren von Werten

Makro zum Kopieren von Werten
31.07.2006 09:10:52
Werten
Hallo!
Ich habe ein Makro, das mir die Werte aus Spalten in eine txt-Datei kopieren soll.
Es sollen jedoch nur die Zeilen kopiert werden, die auch wirklich gefüllt sind.
Im Moment kopiert er auch leere Zeilen, die nur formatiert wurden.
Wer kann helfen?

Sub TextExport()
Dim i As Long, tmp As String
Open Range("B5") & ".txt" For Output As #1
For i = 5 To Range("G65536").End(xlUp).Row
tmp = ""
tmp = tmp & WorksheetFunction.Text(Cells(i, 3), "D/M/YYYY") & Chr(9)
tmp = tmp & WorksheetFunction.Substitute(format(Cells(i, 4),"0.00000"), ",", ".") & Chr(9)
tmp = tmp & WorksheetFunction.Substitute(format(Cells(i, 5),"0.00000"), ",", ".") & Chr(9)
tmp = tmp & WorksheetFunction.Substitute(format(Cells(i, 6),"0.00000"), ",", ".") & Chr(9)
tmp = tmp & WorksheetFunction.Substitute(format(Cells(i, 7),"0.00000"), ",", ".")
Print #1, tmp
Next i
Print #1, Chr(13)
Close 1
End Sub

Gruß,
Daniel
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro zum Kopieren von Werten
31.07.2006 09:23:15
Werten
Hallo Daniel,
versuchs mal mit
if not isEmpty(Cells(i,4)) then
...
end if
heisst soviel wie: fuehre den Befehl ... nur aus, wenn die Zelle nicht leer ist.
Es gibt sicherlich noch viel mehr Wege, das elegant zu loesen, aber dieser funktionuckelt auf jeden Fall!
Gruss aus China,
Tobias
Anzeige
AW: Makro zum Kopieren von Werten
31.07.2006 09:31:08
Werten
Hi,
das geht nicht. Vielleicht habe ich den Befehl auch falsch eingefügt.
For i = 5 To Range("G65536").End(xlUp).Row
if not isEmpty (Cells(i,4)) then
tmp = ""
Gruß
AW: Makro zum Kopieren von Werten
31.07.2006 09:47:25
Werten
Hallo Daniel,
vielen Dank fuer Deine schnelle Antwort.
vielleicht war ich nicht deutlich genug, allerdings denke ich schon, dass Du Dich vielleicht etwas laenger mit einer angebotenen Hilfestellung beschaeftigen solltest, als 5 Minuten, vorausgesetzt, Du willst etwas lernen. Wenn nicht, schreib eine Mail an Hans Herber, der Dir Deine Probleme gegen cash loest.
Anbei ein Vorschlag, der allerdings davon ausgeht, dass wenn die dritte Spalte einer Zeile gefuellt ist, die ganze Zeile gueltig ist:

Sub TextExport()
Dim i As Long, tmp As String
Open Range("B5") & ".txt" For Output As #1
For i = 5 To Range("G65536").End(xlUp).Row
tmp = ""
if not isEmpty (Cells(i,3)) then
tmp = tmp & WorksheetFunction.Text(Cells(i, 3), "D/M/YYYY") & Chr(9)
tmp = tmp & WorksheetFunction.Substitute(format(Cells(i, 4),"0.00000"), ",", ".") & Chr(9)
tmp = tmp & WorksheetFunction.Substitute(format(Cells(i, 5),"0.00000"), ",", ".") & Chr(9)
tmp = tmp & WorksheetFunction.Substitute(format(Cells(i, 6),"0.00000"), ",", ".") & Chr(9)
tmp = tmp & WorksheetFunction.Substitute(format(Cells(i, 7),"0.00000"), ",", ".")
Print #1, tmp
end if
Next i
Print #1, Chr(13)
Close 1
End Sub

Bemerkung am Rande: Wie soll jemand ein Problem loesen, das lautet: "Hi, das geht nicht"
-> Fehlermeldung?
Gruss, tobias
Anzeige
AW: Makro zum Kopieren von Werten
31.07.2006 09:57:30
Werten
Hallo Tobias,
sorry, ich wollte nicht den Eindruck vermitteln, dass ich mir das nicht angesehen habe.
Es geht nun allerdings immernoch nicht.
Die Zeilen sind im Moment bis 727 gefüllt.
Wenn ich per Tastatur nach der letzten zeile suche, wird aber 5004 markiert.
Irgendwas muss da sein.
Wenn ich aber in J728 mit WENN(C728="";"EMPTY";"FILLED") schreibe, dann schriebt er EMPTY rein. Also ist sie nicht gefüllt, irgendwie kopiert er aber trotzdem bis 5000.
Ich verstehe das nicht.
Hättest du noch eine andere Idee?
Grüße,
Daniel
Anzeige
AW: Makro zum Kopieren von Werten
31.07.2006 10:11:47
Werten
Lieber Daniel,
denk bitte daran, dass ich Deine Datei nicht vor mir liegen habe.
Wie ich es verstanden habe, willst Du aus Deinem Excel Blatt alle diejenigen Zeilen in ein txt-file kopieren, die nicht leer sind. Im Grunde kann Dir da doch egal sein, wie weit der i-Zaehler hochlaeuft. Wenn nicht:
Das Kommando ".End(xlUp).Row" ist manchmal nicht die erste Wahl. .SpecialCells(xLCellType.LastCell).Row klappt manchmal besser.
Gruss, tobias
Wenn es immernochnicht klappt, poste mal das file oder beschreib Deinen Fehler DETAILLIERTER.
Gruss.
Tobias
P.S.: Hier ist jetzt FEIERABEND ! ;-)
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige