20.03.2020, 13:32
Hola los Todos!
Ich hatte vor einiger Zeit mal einen Thread: https://www.clever-excel-forum.de/Thread...argestellt
Ich habe die Formel mehrfach verwendet, alles super!
Nur wenn ich eine bestimmte Anzahl an Zeilen überschreite, bekomme ich immer einen Laufzeitfehler. Unter 100000 Werte in allen vier Spalten geht, ab 100000 kommt der Laufzeitfehler.
Aktuell würde ich gerne 4 Spalten a`127790 = 511160 Werte auf einmal übertragen.
Könnte mir eine(r) von euch die Formel so anpassen das das geht. Oder gibt es eine maximal Grenze?
Vielen Dank
Peter
Ich hatte vor einiger Zeit mal einen Thread: https://www.clever-excel-forum.de/Thread...argestellt
Ich habe die Formel mehrfach verwendet, alles super!
Nur wenn ich eine bestimmte Anzahl an Zeilen überschreite, bekomme ich immer einen Laufzeitfehler. Unter 100000 Werte in allen vier Spalten geht, ab 100000 kommt der Laufzeitfehler.
Aktuell würde ich gerne 4 Spalten a`127790 = 511160 Werte auf einmal übertragen.
Könnte mir eine(r) von euch die Formel so anpassen das das geht. Oder gibt es eine maximal Grenze?
Vielen Dank
Peter
Code:
Option Explicit
Sub Ersetzen1()
'Variablendeklarationen
Dim iCnt%, arrDaten
Dim strMsg1$, strMsg2$
'Schleife ueber alle Zeilen
For iCnt = 1 To Cells(Rows.Count, 1).End(xlUp).Row
'Daten aufnehmen
arrDaten = Cells(iCnt, 1).Resize(1, 4)
'File einlesen
strMsg1 = FileReadUTF_8(arrDaten(1, 1))
'Daten ersetzen
strMsg2 = Replace(strMsg1, arrDaten(1, 3), arrDaten(1, 4))
'Datei schreiben
FileWriteUTF_8 arrDaten(1, 1), strMsg2
'Ende Schleife ueber alle Zeilen
Next
'FertigMeldung ausgeben
MsgBox "Fertig!"
End Sub
Public Function FileReadUTF_8(ByVal strFile As String) As String
'Wenn die Datei nicht existiert, dann Funktion verlassen
If Dir$(strFile, vbNormal) = "" Then Exit Function
'Datei komplett einlesen
With CreateObject("ADODB.Stream")
.Type = 2
.Charset = "UTF-8"
.Open
.LoadFromFile strFile
FileReadUTF_8 = .ReadText
.Close
'Ende Datei komplett einlesen
End With
End Function
Public Sub FileWriteUTF_8(ByVal strFile As String, ByVal strTxt As String)
'Datei Inhalt ?berschreiben
With CreateObject("ADODB.Stream")
.Type = 2
.Charset = "utf-8"
.Open
.writetext strTxt
.SaveToFile strFile, 2
.Close
'Ende Datei Inhalt ?berschreiben
End With
End Sub