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

Forumthread: Formelergebnis in Text umwandeln

Formelergebnis in Text umwandeln
21.04.2022 10:35:16
Kerem
Hallo zusammen,
ich habe eine kleine Formel erstellt in der ich die Anzahl von Emails in einer Spalte berechne. Beispiel: Wenn die Email max.muster@mann.de 10 mal in der Spalte F ist, dann wir in Spalte G neben dieser Email die Summe an Emails in Nummern angezeigt.
=COUNTIF(F:F;[@['[Bestellauftrag'] Kunden Email]])
Soweit so gut, jetzt möchte ich in Spalte G wo das Ergebnis der Formel steht, genau dieses Ergebnis als den eigentlichen Wert der Zelle angeben statt der Formel. Das soll in der selben Spalte geschehen. Die Spalten sind übrigens innerhalb einer Tabelle.
Anzeige

20
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formelergebnis in Text umwandeln
21.04.2022 11:03:53
Pierre
Hallo Kerem,
also Makro entweder:

Sub WertEinfuegen()
Dim i As Long
For i = 2 To ActiveSheet.Cells(Rows.Count, 7).End(xlUp).Row
ActiveSheet.Cells(i, 7).Value = ActiveSheet.Cells(i, 7).Value
Next i
End Sub
oder:

Sub WertEinfuegen2()
ActiveSheet.Range("G1:G" & ActiveSheet.Cells(Rows.Count, 7).End(xlUp).Row).Value = _
ActiveSheet.Range("G1:G" & ActiveSheet.Cells(Rows.Count, 7).End(xlUp).Row).Value
End Sub
Man könnte das auch insgesamt ins Makro bringen, sprich erst die Formel als Makro einfügen und dann in Wert umwandeln.
Ach ja: Das Makro gehört in ein allgemeines Modul (im VBA-Fenster, rechte Maus, Einfügen, Modul) und das verknüpfst du dann mit einem Button oder was auch immer du willst.
Gruß Pierre
Anzeige
AW: Formelergebnis in Text umwandeln
21.04.2022 11:12:07
ChrisL
Hi
Oder so...

Sub t()
With ActiveSheet.ListObjects("Bestellauftrag").ListColumns("Anzahl").DataBodyRange
.Formula = "=COUNTIF([Kunden Email],[@[Kunden Email]])"
.Value = .Value
End With
End Sub
Der Titel von Spalte G lautet "Anzahl".
cu
Chris
Anzeige
AW: Formelergebnis in Text umwandeln
21.04.2022 11:24:02
Pierre
Hallo Chris, bzw. Kerem,
stimmt, mit der With-Klammerung kann man bei mir in der 2. Variante auch das lange Geschreibsel mit der Rangeangabe weglassen...
Gruß Pierre
sähe dann so aus: ...
21.04.2022 11:29:26
Pierre
... nur der Vollständigkeit halber:

Sub WertEinfuegen2()
With ActiveSheet.Range("G1:G" & ActiveSheet.Cells(Rows.Count, 7).End(xlUp).Row)
.Value = .Value
End With
End Sub
Aber mit Chris' Variante hättest du das, was ich in meiner ersten Antwort schon meinte bzgl. automatischer Formeleintragung. Die würde ich persönlich bevorzugen.
Gruß Pierre
Gruß Pierre
Anzeige
AW: sähe dann so aus: ...
21.04.2022 14:06:09
Kerem
Hallo Pierre & Chris,
danke für eure schnellen Antworten.
Ich habe versucht die Lösung von Chris anzuwenden, jedoch bekomme ich diese Fehlermeldung: "Subscript out of range".
Mit meinem Halbwissen bin ich mir ehrlich gesagt nicht sicher wie ich die Range an der Stelle so zu ändern habe das es passt?
Gruß
Kerem
Anzeige
AW: Formelergebnis in Text umwandeln
21.04.2022 14:51:25
Kerem
Hallo Chris,
danke für deine schnelle Antworten.
Ich habe versucht deine Lösung anzuwenden, jedoch bekomme ich diese Fehlermeldung: "Subscript out of range".
Mit meinem Halbwissen bin ich mir ehrlich gesagt nicht sicher wie ich die Range an der Stelle so zu ändern habe das es passt?
Gruß
Kerem
Anzeige
AW: Formelergebnis in Text umwandeln
21.04.2022 14:55:14
ChrisL
Hi
Vielleicht hast du meinen Hinweis übersehen: Der Titel von Spalte G lautet "Anzahl".
Die Spalte G ist ebenfalls Teil der "intelligenten" bzw. formatierten Tabelle. Dass du eine schlaue Tabelle verwendest, habe ich anhand deiner Beispielformel interpretiert.
Ansonsten bitte eine kleine Beispieldatei hochladen.
cu
Chris
Anzeige
AW: Formelergebnis in Text umwandeln
21.04.2022 15:11:53
Kerem
Hallo,
hier die Beispieldatei: https://www.herber.de/bbs/user/152576.xlsx
Natürlich wären bei der Spalte "Anzahl" dann vorher noch keine Werte.
AW: Formelergebnis in Text umwandeln
21.04.2022 15:29:26
ChrisL
Hi
So...

Sub t()
With ActiveSheet.ListObjects("Table1").ListColumns("Anzahl").DataBodyRange
.Formula = "=COUNTIF(['[Bestellauftrag'] Kunden Email],[@['[Bestellauftrag'] Kunden Email]])"
.Value = .Value
End With
End Sub
cu
Chris
Anzeige
AW: Formelergebnis in Text umwandeln
21.04.2022 17:28:12
Kerem
Hi,
funktioniert bis .Formula gut.
Jedoch am Ende nach der Zeile .Value = .Value sind plötzlich nur noch die Nummern "12, 10 & 2" zu sehen, obwohl es definitiv auch andere Ergebnisse geben sollte.
AW: Formelergebnis in Text umwandeln
22.04.2022 08:17:05
ChrisL
Hi
Kann ich nicht nachvollziehen.
Value=value wandelt nur noch die Formeln in Werte um, macht also keine Berechnung. Das Problem ist eher bereits bei der Formel zu suchen.
Mal im Namensmanager prüfen, ob die intelligente Tabelle den ganzen Bereich erfasst.
Sonst eine neue Beispielmappe laden.
cu
Chris
Anzeige
AW: Formelergebnis in Text umwandeln
22.04.2022 09:19:33
Kerem
Hi Chris,
kann ich persönlich auch nicht nachvollziehen, es werden auch alle Formeln zu einfachen Werten verändert, aber aus irgendeinem Grund ändern diese sich zu den genannten Zahlen 12,10 & 2.
Hier eine Beispieldatei: https://www.herber.de/bbs/user/152585.xlsx
Anzeige
AW: Formelergebnis in Text umwandeln
22.04.2022 10:16:13
ChrisL
Hi
Jetzt kommt einfach 4x die 4, so wie es sein soll...

Sub t()
With ActiveSheet.ListObjects("Table1").ListColumns("Bestellungen").DataBodyRange
.Formula = "=COUNTIF([Email Adresse],@[Email Adresse])"
.Value = .Value
End With
End Sub
cu
Chris
Anzeige
AW: Formelergebnis in Text umwandeln
22.04.2022 11:07:21
Kerem
Hi,
ich verstehe es nicht es geschieht weiterhin dasselbe.
Ich finde auch keinen Grund vorher in meinem Code der zum Fehler führen könnte.
Siehe hier: https://www.herber.de/bbs/user/152589.txt
Ist nicht ausgearbeitet also sei bitte nicht zu hart mit mir.
Gruß
Anzeige
AW: Formelergebnis in Text umwandeln
22.04.2022 11:12:24
ChrisL
Hi
Ich bräuchte eine Datei mit dem dazu passenden Code, womit sich das Problem rekonstruieren lässt. Bei mir läuft alles OK.
Solange ich den Fehler nicht "sehe" kann ich ihn nicht beheben.
Den vollständigen Code habe ich nun und jetzt bitte noch die dazu passende Excel-Datei inkl. Daten, welche den Fehler aufzeigen.
cu
Chris
Anzeige
AW: Formelergebnis in Text umwandeln
22.04.2022 12:16:18
Kerem
Hi,
ich habe eine kleine Beispiel Datei erstellt und in dieser funktioniert es auch einwandfrei.
Beispiel Datei: https://www.herber.de/bbs/user/152593.xlsx
Ich verstehe nicht wieso es bei der eigentlichen Datei nicht funktioniert. Diese kann ich wegen Datenschutz leider nicht teilen.
Kann es sein das es an der Größe liegt? Ich sehe das Problem einfach nicht. Die eigentliche Datei ist ca. 2000 Zeilen lang
Anzeige
AW: Formelergebnis in Text umwandeln
22.04.2022 13:23:50
ChrisL
Hi
Ein Problem zu finden, das du selber nicht darstellen kannst, ist schon etwas viel verlangt.
Trotzdem habe ich mal aufgeräumt, wobei mir auffiel, dass zuerst die Berechnung stattfindet und nachträglich noch die Duplikate entfernt werden. Ich habe die Reihenfolge mal umgedreht.

Sub Katalogliste_formatieren()
Dim MyListObj As ListObject
Application.ScreenUpdating = False
With ActiveSheet
Application.DisplayAlerts = False
.Columns(1).TextToColumns Destination:=.Range("A1"), DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, _
Tab:=False, Semicolon:=False, Comma:=True, Space:=False, Other:=False, TrailingMinusNumbers:=True
Application.DisplayAlerts = True
Set MyListObj = ActiveSheet.ListObjects.Add(xlSrcRange, .UsedRange, , xlYes)
End With
With MyListObj
.TableStyle = "TableStyleLight8"
.Range.Replace What:="Ã", Replacement:="", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False
.Range.RemoveDuplicates Columns:=6, Header:=xlYes
.ListColumns("[Bestellauftrag] Kunden Email").Name = "Email Adresse"
.ListColumns("[Bestellauftrag]Käuferabteilung (ID der Einkaufsorganisation)").Name = "EkOrg"
.ListColumns("[Bestellauftrag] Bestellnummer").Name = "Bestellnr."
.ListColumns("[Bestellauftrag]Lieferant (ERP-Lieferant)").Name = "Lieferant"
.ListColumns("[Bestellauftrag]Bestelldatum (Datum)").Name = "Datum"
.ListColumns("[Bestellauftrag]Anforderer (Benutzer)").Name = "Vorname Nachname"
.ListColumns("[Bestellauftrag] Beschreibung").Name = "Artikel"
.ListColumns("sum(Bestellauftragsausgaben)").Name = "Bestellwert"
With .ListColumns(7)
.Name = "Bestellungen"
.DataBodyRange.Formula = "=COUNTIF([Email Adresse],@[Email Adresse])"
.DataBodyRange.Value = .DataBodyRange.Value
End With
.Range.AutoFilter Field:=1, Criteria1:=Array("2101", "300", "380"), Operator:=xlFilterValues
End With
Application.ScreenUpdating = True
End Sub
cu
Chris
Anzeige
AW: Formelergebnis in Text umwandeln
22.04.2022 13:57:51
Kerem
Hi,
Chris... Vielen Dank!!! Ich habe sehr viel verlangt, tut mir leid, aber es hat funktioniert!
Ich habe nur den Teil mit denen ich die Duplikate lösche wieder nach hinten getan, da ich die Anzahl vor der Löschung brauche und die Löschung der Übersicht dient.
Nochmal tausend dank!
Gruß
Kerem
Anzeige
AW: Formelergebnis in Text umwandeln
22.04.2022 15:47:26
ChrisL
Hi
Danke für die Rückmeldung. Schön, dass es nun funktioniert (warum auch immer).
Übrigens, da es sich scheinbar um einen Datenbezug aus externer Quelle handelt, könnte sich gelegentlich mal eine Einarbeitung in das Thema "Power Query" anbieten.
cu
Chris
AW: Formelergebnis in Text umwandeln
22.04.2022 09:01:49
Kerem
Hi,
funktioniert bis .Formula gut.
Jedoch am Ende nach der Zeile .Value = .Value sind plötzlich nur noch die Nummern "12, 10 & 2" zu sehen, obwohl es definitiv auch andere Ergebnisse geben sollte.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Formelergebnis in Text umwandeln


Schritt-für-Schritt-Anleitung

Um das Ergebnis einer Excel-Formel in Text umzuwandeln, kannst Du folgende Schritte befolgen:

  1. Formel einfügen: Zuerst trage die Formel in die gewünschte Zelle ein. Beispiel:
    =COUNTIF(F:F;[@['[Bestellauftrag'] Kunden Email]])
  2. Makro aktivieren: Öffne den VBA-Editor (ALT + F11) und füge ein neues Modul hinzu.
  3. Makro erstellen: Kopiere und füge den folgenden VBA-Code in das Modul ein:
    Sub WertEinfuegen()
       Dim i As Long
       For i = 2 To ActiveSheet.Cells(Rows.Count, 7).End(xlUp).Row
           ActiveSheet.Cells(i, 7).Value = ActiveSheet.Cells(i, 7).Value
       Next i
    End Sub
  4. Makro ausführen: Schließe den VBA-Editor und führe das Makro aus (ALT + F8) und wähle WertEinfuegen aus.
  5. Ergebnis prüfen: Überprüfe, ob die Formelergebnisse jetzt als Text in der Zelle angezeigt werden.

Häufige Fehler und Lösungen

  • Fehlermeldung "Subscript out of range": Stelle sicher, dass die Tabelle und die Spaltenüberschrift korrekt benannt sind. Überprüfe insbesondere den Namen der Tabelle und der Spalte, die Du in Deinem Code verwendest.

  • Ergebnisse sind nicht korrekt: Wenn nach der Umwandlung nur bestimmte Zahlen angezeigt werden, könnte das an der Formel selbst liegen. Überprüfe die Berechnung in der ursprünglichen Formel.


Alternative Methoden

Falls Du kein Makro verwenden möchtest, kannst Du auch folgende Methoden ausprobieren:

  1. Text() Funktion: Du kannst die TEXT()-Funktion nutzen, um das Ergebnis einer Formel als Text darzustellen. Zum Beispiel:

    =TEXT(COUNTIF(F:F;[@['[Bestellauftrag'] Kunden Email]]); "0")
  2. Kopieren und Einfügen: Eine manuelle Methode wäre es, das Ergebnis zu kopieren und dann mit „Inhalte einfügen“ die Werte zu übertragen.


Praktische Beispiele

  1. Ergebnis einer Formel als Text ausgeben: Wenn Du die Anzahl der E-Mails aus einer Liste zählen möchtest, benutze:

    =TEXT(COUNTIF(F:F; "max.muster@mann.de"); "0")
  2. Formel in Text umwandeln: Um die Formel =SUMME(A1:A10) als Text darzustellen, verwende:

    =TEXT(SUMME(A1:A10); "0")

Tipps für Profis

  • Automatisierung: Verwende VBA, um die Umwandlung automatisch für mehrere Zellen durchzuführen. So sparst Du Zeit und reduzierst manuelle Fehler.

  • Power Query: Wenn Du regelmäßig Daten umwandeln musst, könnte sich eine Einarbeitung in Power Query lohnen, um komplexere Datenabfragen zu erstellen und Ergebnisse effizient zu formatieren.


FAQ: Häufige Fragen

1. Wie kann ich ein Formelergebnis in eine Zahl umwandeln?
Du kannst die Formel einfach in einer neuen Zelle mit der Funktion VALUE() umwandeln:

=VALUE(A1)

2. Gibt es eine Möglichkeit, mehrere Formeln gleichzeitig in Text umzuwandeln?
Ja, Du kannst ein VBA-Makro anpassen, um durch einen Bereich von Zellen zu iterieren und die Formelergebnisse in Text umzuwandeln, wie im Schritt-für-Schritt-Anleitung beschrieben.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige