Clever-Excel-Forum

Normale Version: excel-to-html ... Laufzeitfehler
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
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

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
Hallöchen,

Dim iCnt% begrenzt die Zeilenzahl auf einen Integerwert.
Dim iCnt& würde das auf Long erweitern …