Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
784to788
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
784to788
784to788
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige