ich hätte da mal eine Frage an die Excel Freunde unter euch…
mein Problem ist, dass ich bestimmt Inhalte aus eine Zeile „ersetzt“ haben will. Das Problem an der Sache ist, dass Excel bei manchen Zeilen sagt, dass die Formel zu lang ist, aus der er die Sachen „Ersetzen“ soll. Hat da jemand Rat wie man das umgehen kann??? Wäre fantastisch…
ich hätte da mal eine Frage an die Excel Freunde unter euch…
mein Problem ist, dass ich bestimmt Inhalte aus eine Zeile
„ersetzt“ haben will. Das Problem an der Sache ist, dass Excel
bei manchen Zeilen sagt, dass die Formel zu lang ist, aus der
er die Sachen „Ersetzen“ soll. Hat da jemand Rat wie man das
umgehen kann??? Wäre fantastisch…
Hi Arhur,
Option Explicit
Sub Ersetzen()
Dim Zelle As Range, Suchen As String, Ersetzen As String, Wert As String
Suchen = InputBox(„Was?“)
Ersetzen = InputBox(„Durch?“)
If Suchen = „“ Or Ersetzen = „“ Then Exit Sub
Application.ScreenUpdating = False
ActiveWindow.DisplayFormulas = True
Selection.Replace What:=Suchen, Replacement:=Ersetzen, MatchCase:=True
ActiveWindow.DisplayFormulas = False
Application.ScreenUpdating = True
End Sub
Ohne ein Beispiel ist Formeltuning recht schwer möglich…
Du musst eben vereinfachen - wenn das nicht geht, musst Du mit Zwischenergebnissen in Hilfszellen(-zeilen/-spalten) arbeiten.
Und wenn das nicht geht dann bleibt nichts anderes als eine selbstgebastelte VBA-Funktion.
Aber das erfordert wieder höheres Wissen und ist inkompatibler…
ich hätte da mal eine Frage an die Excel Freunde unter euch…
mein Problem ist, dass ich bestimmt Inhalte aus eine Zeile
„ersetzt“ haben will. Das Problem an der Sache ist, dass Excel
bei manchen Zeilen sagt, dass die Formel zu lang ist, aus der
er die Sachen „Ersetzen“ soll. Hat da jemand Rat wie man das
umgehen kann??? Wäre fantastisch…
Die Sache ist mir nicht ganz klar. Stehen in den Zellen einfach Texte? oder Formeln? Wie lang sind die? Werden sie nach dem Ersetzen länger?
Welche Excel-Version?
Zeige doch bitte mit einem Beispiel was du macehn willst.
Erich
Also…
Ich versuche ein Makro zu erstellen, welches aus einer *.txt Datei Daten nach Excel importiert. Dummerweise schreibt er alles innerhalb einer Zeile in eine Zeile, was zu dem Problem führt, dass Excel manche Zeilen „Ersetzt“ und die die zu lang sind halt nicht… Und ich weiß leider auch nicht wie ich die importierten Daten in mehrere Zeilen Aufsplitten kann… denke dann würde das mit dem „Ersetzen“ auch greifen…
ich hätte da mal eine Frage an die Excel Freunde unter euch…
mein Problem ist, dass ich bestimmt Inhalte aus eine Zeile
„ersetzt“ haben will. Das Problem an der Sache ist, dass Excel
bei manchen Zeilen sagt, dass die Formel zu lang ist, aus der
er die Sachen „Ersetzen“ soll. Hat da jemand Rat wie man das
umgehen kann??? Wäre fantastisch…
Hi Arthur,
poste doch das Makro mal.
Stehen jetzt Texte in den Zellen oder Formeln?
Gruß
Reinhard
deswegen kann man doch wohl aber keine längeren (,
funktionierenden!) Formeln erzeugen, oder bin ich jetzt auf
dem falschen Dampfer
Hi Munich,
irgedendwie kann ich mit der Fehlermeldung bei Ersetzen nix Rechtes anfangen.
Leider ist AUSWERTEN ( Namen definieren, Formel: =AUSWERTEN(Tabelle1!$A$1) ) bzw. Evaluate wohl auf 255 Zeichne beschränkt.
Insofern kann mna dadurch nix tricksen um längere Formeln auszuwerten.
Gruß
Reinhard
also dein Macro hab ich schon übernommen… nur dummerweise funktioniert das auch nur Halb… das „Ersetzen“ wird wieder ab einem zu Großen Zeileninhalt gestoppt… wie es schon vorher der Fall war, lediglich die Fehlermeldung bleibt aus ich konnte mittlerweile rausfinden, dass der Fehler nur dann auftritt, wenn der Zeileninhalt der Zeile mehr als 1000 Zeichen lang ist anscheinend… Ich denke ich müsste das irgendwie abfangen und den großen Text in mehrere Zeilen aufsplitten und dann halt „Ersetzen“ lassen und anschliessend zusammenfügen… aber keine Ahnung ob das geht oder wie das geht… Suche bereits die ganze Zeit nach Möglichkeiten da irgendwie weiter zu kommen… aber bisher noch nichts gescheites gefunden…
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
poste doch das Makro mal.
Stehen jetzt Texte in den Zellen oder Formeln?
Ja, tu das endlich!
In eine ZELLE bei Excel gehen (je nach Version) so etwas wie 32’000 Zeichen, also viel mehr als deine 1’000.
Wenn du das Problem offen auf den Tisch legst, kann dir hier leicht geholfen werden.
(Kaffeesatz lesen gehört in ein anderes Foreum)
Erich
Meine Glaskugel sagt
Hi Arthur,
Erich hat völlig Recht.
Es wird ne never ending story wenn du keine Butter bei die Fische gibst.
Die Frage ob Formel oder Text ist wichtig und du beantwortest sie nicht.
Kann ja sein da wird eine Formel eingefügt die 3000 Zeichen hat, oder 30.000 Zeichen, die auszuwerten ist leicht lösbar per Vba , ich bräucht dafür nur ein oder zwei Jahre um den Code zu entwickeln:smile:
Wäre es Text wäre es nen kleinen Tick schneller zu lösen…
Warum beantwortest du nicht die Frage Formel oder Text und wo bleibt der Code?
Gruß
Reinhard
Also es ist geht sich um einen Text, welchen ich aus einer *.txt Datei auslese, und diesen mit Hilfe eines Macros in Excel bearbeiten udn wieder speichern will… Auslesen und speichern passt, nur das bearbeiten macht an manchen Stellen Probleme…
Wenn ich den Text aus einer Datei auslese dann steht in einer Zeile folgendes:
formatiert haben und wieder abspeichern…
ich hab das so gemacht das ich Macro aufnehmen lasse und dann die Schritte mache die dafür notwendig sind… doch wenn ich Sage er soll nach "(Table: network_objects) Name: " suchen und durch " " ersetzen, dann sagt er mir immer das die Formel zu lang ist…
ich hoffe ich konnte jetzt mein Problem besser darstellen…
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Meine Therapeutin hat Recht…
Hi Arthur,
sie sagt ich rede zuviel, das verwirrt die Leute und ich soll klarer formulieren was ich möchte.
Mea culpa, ich sehe ja ein, dass „poste doch das Makro mal“ und „und wo bleibt der Code?“ völlig unklar ist *ggg
Deshalb formuliere ich es einmal multikulti verständlicher:
Du nix sagen wie dein Code ich dir nix sagen wie Lösung ist.
Hallo Leidensgenossen
Nach etwa 15 Versuchen haben wir nun endlich ein Text-file und einen VBA-Code.
Wenn ich das Ding jedoch laufen lasse, passiert gar nichts wie „Fehler“, sondern es wird einfach alles gelöscht!
Damit komme ich nicht weiter! Es liegt wohl am „Text-file“, das nicht das ursprüngliche file ist, sondern das, was excel ausliest?
Dazu passt dann jedoch der Code nicht, der ja das file öffnen will.
Ich finde das Problem interessant, bin bereit, mir darüber weiter Gedanken zu machen, aber nur unter einer Bedingung:
BITTE endlich ALLES auf den Tisch legen:
also CODE UND TXT-FILE,.
dazu: Excel-Version angeben.
wann genau tritt der Fehler auf, beim schrittweisen Abarbeiten des VBA-Codes?
Luxus, weil ich vorher schon einige Auswertungen in Excel vorgenommen haben, und daher einfach nur noch Markos abhandeln wollte… habe zwar eine Lösung, aber dazu musste ich auf ein anderes Programm ausweichen und das formatierte in Excel zurückimportieren… das klappt nun… soweit… stehe leider vor dem nächsten Problem…
Das ich aus mehreren Zeilen, die Namen rauspicken muss und dazu passend *.xls Dateien erstellen muss…
Sprich A1 = Apfel, A2 = Birne, A3 = Kirsche
und es sollen 3 Dateien erstellt werden mit dem Namen, Apfel.xls, Birne.xls und Kirsche.xls
naja muss ich suchen oder so ka
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Option Explicit
Sub Macro3()
Dim Zei As Long, Satz As String, Satz2, Spa As Integer
ActiveSheet.UsedRange.ClearContents
Close
Open "c:\Eigene Dateien\network\_objects\_groups.txt" For Input As #1
While Not EOF(1)
Zei = Zei + 1
Line Input #1, Satz
Satz2 = Split(Replace(Satz, " Name:", ""), vbTab)
For Spa = 0 To UBound(Satz2)
Cells(Zei, Spa + 1) = Satz2(Spa)
Next Spa
Wend
Close
ActiveSheet.Columns.AutoFit
End Sub
Sub Macro4()
Dim Zei As Long, Satz As String, Satz2, Spa As Integer
ActiveSheet.UsedRange.ClearContents
Close
Open "c:\Eigene Dateien\network\_objects\_groups.txt" For Input As #1
While Not EOF(1)
Zei = Zei + 1
Line Input #1, Satz
Satz2 = Split(Replace(Satz, " Name:", ""), vbTab)
For Spa = 1 To UBound(Satz2)
Cells(Zei, Spa) = Satz2(Spa)
Next Spa
Wend
Close
ActiveSheet.Columns.AutoFit
End Sub
wenn ich das so sehe, fällt mir folgendes ein.
Öffne die txt.-Datei mit Excel, wobei das Leerzeichen das Trennzeichen ist. Deine Textzeile wird auf diese Art auf die Zellen der Zeile 1 aufgeteilt. Jetzt kannst du den Inhalt jeder Zelle per vba prüfen, ob der Inhalt mit X- beginnt, wenn nicht, wird die Zelle gelöscht. Anschließend füge die Inhalte aller Zellen wieder mit & zusammen. Als Text abspeichern. Dann kannst du den Rest (ich weiß nicht, was weiter passieren soll) abarbeiten.
Hallo
Wir haben die Frage direkt miteinander erledigt, hier das interessante Resultat:
Die Ersetzen-Funktion in Excel geht nur bis zu einer Textlänge von 910 Zeichen in einer Zelle!
Im Fall von Pheyx hat es jedoch Zellen mit 3-4000 Zeichen. Da meldet Excel nicht ganz treffend „Formel zu lang“.
Erich