Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

excel-to-html ... Laufzeitfehler
#1
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
Antwortento top
#2
Hallöchen,

Dim iCnt% begrenzt die Zeilenzahl auf einen Integerwert.
Dim iCnt& würde das auf Long erweitern …
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste