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

Fehlermeldung bei Daten extern speichern

Forumthread: Fehlermeldung bei Daten extern speichern

Fehlermeldung bei Daten extern speichern
25.11.2006 19:19:40
Harald
hallo,
ich habe in diesem Forum zum externen Abspeichern bestimmter Daten folgenden Code bekommen:

Sub DatenExternSpeichern(Wks As Worksheet)
Dim vntTmp, R As Long, strTmp As String, iCols As Integer
iCols = Wks.Cells(3, 255).End(xlToLeft).Column
Open ThisWorkbook.Path & "\" & Wks.Name & ".txt" For Output As #1
With Wks
For R = 3 To .Cells(65536, 1).End(xlUp).Row
strTmp = ""
vntTmp = .Range(.Cells(R, 1), .Cells(R, iCols))
strTmp = Join(vntTmp, "|")
Print #1, strTmp
Next R
End With
Close #1
End Sub

Nun bekomme ich immer den Fehler "ungültiger Prozeduraufruf oder ungültiges Argument", wobei die Zeile mit der Join-Anweisung markiert wird.
Was ist hier falsch?
m.f.g.
Harald
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehlermeldung bei Daten extern speichern
25.11.2006 20:16:30
Kurt
Hi,
vntTmp muss ein eindimensionaler Array sein!
mfg Kurt
AW: Fehlermeldung bei Daten extern speichern
26.11.2006 09:33:26
Harald
Hallo Kurt,
vielen Dank für den Tip.
m.f.g.
Harald
AW: Fehlermeldung bei Daten extern speichern
25.11.2006 20:16:40
Erich
Hallo Harald,
Join erwartet ein eindimensionales Datenfeld als ersten Parameter, vntTemp ist aber zweidimensional
(kannst du dir im Überwachungsfenster ansehen).
So läuft es jedenfalls: (Das Trennzeichen kann man dann natürlich auch gleich in der Schelife anhängen.)
Sub DatenExternSpeichern1(Wks As Worksheet)
Dim strRng() As String, R As Long, strOut As String, iCols As Integer, ii As Integer
With Wks
iCols = .Cells(3, 255).End(xlToLeft).Column
ReDim strRng(iCols - 1)
Open ThisWorkbook.Path & "\" & .Name & ".txt" For Output As #1
For R = 3 To .Cells(65536, 1).End(xlUp).Row
strOut = ""
For ii = 1 To iCols
strRng(ii - 1) = .Cells(R, ii)
Next ii
strOut = Join(strRng, "|")
Print #1, strOut
Next R
Close #1
End With
End Sub
'oder so:
Sub DatenExternSpeichern2(Wks As Worksheet)
Dim vntRng, strRng() As String, R As Long, strOut As String, iCols As Integer, ii As Integer
With Wks
iCols = .Cells(3, 255).End(xlToLeft).Column
ReDim strRng(iCols - 1)
Open ThisWorkbook.Path & "\" & .Name & ".txt" For Output As #1
For R = 3 To .Cells(65536, 1).End(xlUp).Row
strOut = ""
vntRng = .Range(.Cells(R, 1), .Cells(R, iCols))
For ii = 1 To iCols
strRng(ii - 1) = vntRng(1, ii)
Next ii
strOut = Join(strRng, "|")
Print #1, strOut
Next R
Close #1
End With
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Fehlermeldung bei Daten extern speichern
26.11.2006 09:35:29
Harald
Hallo Erich,
vielen Dank für den Hinweis und den neuen Code. Ich werde ihn heute mittag ausprobieren.
m.f.g.
Harald
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige