Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Fehler im Skript - wer kann helfen?

Forumthread: Fehler im Skript - wer kann helfen?

Fehler im Skript - wer kann helfen?
13.10.2005 16:50:43
mikatigra
Liebe Excelenten,
ich habe folgendes Skript,das im wesentlichen funktioniert, aber immer noch weitere Zeilen anfügt und ich weiss nicht warum. Was muss ich ändern, damit nur die gefüllten Zeilen gespeichert werden?
Vielen Dank für eure Hilfe.
Gruß,
Mika
Skript:

Sub AlsTextSpeichern()
Dim sfile As Integer
ActiveSheet.Select
Cells.Replace What:="ö", Replacement:="oe", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Cells.Replace What:="ä", Replacement:="ae", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Cells.Replace What:="ü", Replacement:="ue", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
sfile = Format(Now, "DDMM")
exportfile = "c:\xyz\UPS\UPS" & sfile & ".csv"
Dateinummer = FreeFile
Set TB = ThisWorkbook.Worksheets(2)
Open exportfile For Output As #Dateinummer
For z = 1 To TB.UsedRange.Rows.Count
For s = 1 To 17
TMP = TMP & CStr(TB.Cells(z, s).Text) & ","
Next s
TMP = Left(TMP, Len(TMP) - 1)
Print #Dateinummer, TMP
TMP = ""
Next z
Close #Dateinummer
End Sub

ERGEBNIS:
Hans Meyer,Hans Meyer,Hans Meyer,Koepenicker Str. 20,,,Koepenick,,10002,DE,01701234567,,hansmeyer@yahoo.de,,1,,
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehler im Skript - wer kann helfen?
13.10.2005 17:05:50
Ralf
Hi Mikatigra,
nur eine Vermutung, aber wahrscheinlich bei:
For z = 1 To TB.UsedRange.Rows.Count
erhöht sich ja die Zeilenzahl des benutzten Bereiches bei jedem Durchlauf. Versuch es mal so:
Dim lz#
lz = TB.UsedRange.Rows.Count
For z = 1 To lz
Ciao, Ralf
AW: Fehler im Skript - wer kann helfen?
13.10.2005 17:18:22
mikatigra
Hallo Ralf,
damit funktioniert es leider nicht.
Gruß,
Mika
Anzeige
AW: Fehler im Skript - wer kann helfen?
13.10.2005 17:36:00
Ralf
Hi Mikatigra,
dann weiß ich auch nicht woran es liegen könnte. Hab die Frage mal auf Offen gestellt.
Ciao, Ralf
AW: Fehler im Skript - wer kann helfen?
13.10.2005 17:52:48
ede
hallo,
dann frag doch noch vor dem wegschreiben diese zeichenkette ab
TMP = Left(TMP, Len(TMP) - 1)
if left(tmp,1,16) ",,,,,,,,,,,,,,,," then Print #Dateinummer, TMP
...
viel erfolg
Anzeige
AW: Fehler im Skript - wer kann helfen?
13.10.2005 21:04:58
Heinz
Hallo,
mit dem Befehl UsedRange.Rows.Count werden vielfach auch vorher beschriebene und wieder gelöschte Zellen mit berücksichtigt. Es ist dies ein großer Unsicherheitsfaktor.
Besser ist es, die letzte Zeile in der Form zu bestimmen:
lz = TB.Cells(Rows.Count, 1).End(xlUp).Row (für die Spalte A),
dann wirst du keine Leerzeilen mehr bekommen.
Gruß
Heinz
Anzeige
wie bau ich denn den code konkret ein
13.10.2005 21:33:16
mikatigra
Hallo Heinz,
sorry, aber ich weiss nicht genau wie ich die Zeile wo einbaue.
Dank dir.
Gruß,
Mika
AW: wie bau ich denn den code konkret ein
13.10.2005 23:15:55
Heinz
Hallo,
lz = TB.Cells(Rows.Count, 1).End(xlUp).Row
For z = 1 To lz
....
Gruß
Heinz
o.t. - Danke Heinz! Jetzt läufts
14.10.2005 07:55:59
mikatigra
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18