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

nur fettgeschriebene Wörter kopieren

Forumthread: nur fettgeschriebene Wörter kopieren

nur fettgeschriebene Wörter kopieren
13.10.2016 20:24:54
Björn
Hallo,
ich benötige Eure Unterstützung. Ich habe eine Zelle mit einem Langtext. Die ersten Wörter (unterschiedliche Länge) sind fett geschrieben und stellen die Überschrift des Langtextes dar. Ich möchte gerne mit einem Makro nur die fett geschriebenen Wörter kopieren und in eine andere Zellen schreiben. Bislang habe ich keine passende Funktion gefunden. Ist mein Vorhaben möglich oder muss ich anders vorgehen, um die Überschrift aus dem Langtext zu extrahieren. Im Anhang habe ich mein Vorhaben in einer Excel-Tabelle dargestellt. Ich freue mich auf Eure Antworten und hoffe, dass Ihr mir weiterhelfen könnt.
Grüße,
https://www.herber.de/bbs/user/108772.xlsx
Björn
Anzeige

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: nur fettgeschriebene Wörter kopieren
13.10.2016 20:31:59
Fennek
Hallo,
nach meinem Verständnis kann man nur mit der vba-Funktion "cells.character" auf einzelne Buchstaben zugreifen. Also eine Schleife über alle Zeichen und prüfen ob "bold".
mfg
AW: nur fettgeschriebene Wörter kopieren
13.10.2016 20:50:10
Björn
Eine Schleife wollte ich umgehen. Das kopieren der "fetten" Wörter ist Bestandteil einer größeren Programmierung. Ich hab auf eine schlankere Lösung gehofft...
Trotzdem Danke für Deinen Vorschlag, Fennek.
Anzeige
AW: nur fettgeschriebene Wörter kopieren
13.10.2016 23:52:08
Daniel
Hi
probier mal diese Funktion.
Function FetterText(Zelle As Range) As String
Dim i As Long
With Zelle(1)
For i = 1 To Len(.Value)
If .Characters(Start:=i, Length:=1).Font.Bold Then FetterText = FetterText & Mid(.Value, _
i, 1)
Next
End With
End Function
kannst du in einer Zellformel verwenden oder auch in einen Makro.
eingabeparameter ist die Zelle.
gruß Daniel
Anzeige
AW: nur fettgeschriebene Wörter kopieren
14.10.2016 09:08:26
Björn
Hallo Daniel, Danke für Deinen Vorschlag. Ich versuche gerade deinen Code zu testen, Jan aber nicht nachvollziehen.
Witz Zelle(1)
bezieht auf die Ausgangszelle? (hier findet man den fett geschriebenen und Standardtext).
In welche Zelle wird geschrieben, wenn die Funktion in einem Tabellenblatt hinterlegt ist? Irgendwie bekomme ich die Funktion nicht zum laufen.
Grüße, Björn
Anzeige
AW: nur fettgeschriebene Wörter kopieren
14.10.2016 10:00:01
Daniel
Hi
Der Text wird in der Zelle ausgegeben, in der die Formel liegt.
Das Zelle(1) reduziert den Zell Bereich auf seine erste Zelle.
Das ist nur eine Absicherung für den Fall, dass du mal mehrere Zellen an die Funktion über gibst, denn das würde sonst zu einem Fehlerabbruch führen.
Der code muss in ein allgemeines Modul.
Wenn du den Code aus dem Forum kopierst, musst du die Zeilenumbrüche mit dem Unterstrich löschen.
Die fügt der Forumseditor bei langen Codezeilen automatisch ein, aber sie sind nicht kompatibel mit den Zeienumbrüchen im VBA-Editor, auch wenn sie gleich aussehen.
Wenns das nicht ist, lade mal deine Datei hoch, dann kann ich dir sagen was du falsch gemacht hast.
Gruß Daniel
Anzeige
AW: nur fettgeschriebene Wörter kopieren
14.10.2016 10:17:27
Björn
Das Modul rufe ich dann mit einer Formel auf? Ich hab im Anhang eine Beispiel Datei gehangen. Vielleicht kannst Du drüber schauen...
https://www.herber.de/bbs/user/108783.xlsm
AW: nur fettgeschriebene Wörter kopieren
14.10.2016 10:24:14
baschti007
Du kannst es in Excel machen indem du in zelle D4 das hier rein machst
=FetterText(B4)

Gruß Basti
Anzeige
AW: nur fettgeschriebene Wörter kopieren
14.10.2016 10:34:02
Daniel
Hi
alle Functions, die du in einem allgemeinen Modul (Modul1) hinterlegt hast, stehen dir in dieser Datei wie ganz normale Excelfunktionen zur Verfügung, dh du kannst sie einfach in deine Zellformeln einfügen.
Sie erscheinen auch in er Eingabehilfe, wenn du beginnst die Formel zu schreiben (sofern du diese Funktion aktiviert hast)
im Modul Tabelle1 solltest du den Code löschen.
Gruß Daniel
Anzeige
AW: nur fettgeschriebene Wörter kopieren
14.10.2016 16:45:40
Björn
Danke!
AW: nur fettgeschriebene Wörter kopieren
15.10.2016 09:31:52
Hajo_Zi
warum offen. Danke hätte ich als erledigt gelesen?

Beachte, dass du den Zwischenraum nach ...
14.10.2016 03:51:12
Luc:-?
…dem fetten Text auch gefettet hast, Björn;
der wird von Daniels (und auch meiner) UDF mit ausgegeben!
Morrn, Luc :-?
Besser informiert mit …
Anzeige
Zeit sparen
15.10.2016 15:37:14
Michael
Hi,
wegen der Vorgabe, daß die fetten Begriffe am Beginn stehen, ließe sich das Makro noch beschleunigen, indem man die For-Schleife abbricht, sobald ein nicht-fettes Zeichen kommt; also einfach einen Else-Zweig einfügen mit
Else Exit For
oder eine andere Schleife verwenden:
Function FettT(zelle As Range) As String
Dim i As Long, iMax As Long
i = 1
With zelle(1)
iMax = Len(.Value)
While i 
Schöne Grüße,
Michael
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Nur fettgeschriebene Wörter in Excel kopieren


Schritt-für-Schritt-Anleitung

Um nur die fettgeschriebenen Wörter aus einer Zelle in Excel zu kopieren, kannst du eine benutzerdefinierte Funktion (UDF) in VBA erstellen. Hier sind die Schritte:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu:

    • Klicke im Menü auf Einfügen und wähle Modul.
  3. Kopiere den folgenden Code in das Modul:

    Function FetterText(Zelle As Range) As String
       Dim i As Long
       With Zelle(1)
           For i = 1 To Len(.Value)
               If .Characters(Start:=i, Length:=1).Font.Bold Then
                   FetterText = FetterText & Mid(.Value, i, 1)
               End If
           Next
       End With
    End Function
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Verwende die Funktion in einer Zelle:

    • Gib in eine Zelle ein: =FetterText(A1), wobei A1 die Zelle ist, die den Langtext enthält.

Jetzt werden nur die fettgeschriebenen Wörter aus der angegebenen Zelle in die Zelle, in der du die Funktion eingegeben hast, kopiert.


Häufige Fehler und Lösungen

  • Fehler 1: Die Funktion gibt nichts zurück.

    • Lösung: Stelle sicher, dass die Zelle, die du analysierst, tatsächlich fettgeschriebene Wörter enthält.
  • Fehler 2: Der Code funktioniert nicht.

    • Lösung: Überprüfe, ob du die Zeilenumbrüche im Code entfernt hast, da der Forumseditor diese möglicherweise hinzugefügt hat.
  • Fehler 3: Die Funktion wird nicht erkannt.

    • Lösung: Stelle sicher, dass der Code im richtigen Modul (nicht in einem Tabellenmodul) gespeichert ist.

Alternative Methoden

Falls du lieber keine VBA-Funktionen verwenden möchtest, kannst du die Formatierung manuell überprüfen:

  1. Markiere den Text in der Zelle.
  2. Kopiere den Text und füge ihn in Word oder ein anderes Textverarbeitungsprogramm ein.
  3. Überprüfe die Formatierungen und kopiere nur die fettgeschriebenen Wörter zurück nach Excel.

Eine andere Möglichkeit ist, spezielle Excel-Add-Ins zu verwenden, die das Extrahieren von fettgedrucktem Text ermöglichen.


Praktische Beispiele

Angenommen, du hast in Zelle A1 den Text: "Erstes Wort ist fett, der Rest nicht." Wenn du in Zelle B1 die Funktion =FetterText(A1) verwendest, wird das Ergebnis in B1: "Erstes Wort ist fett" angezeigt.

Du kannst diese Funktion auch in einer Tabelle betreiben, in der mehrere Zellen analysiert werden. Beispiel: =FetterText(A1), =FetterText(A2) usw.


Tipps für Profis

  • Optimierung der Funktion: Wenn du weißt, dass der Text immer mit fettgedruckten Wörtern beginnt, kannst du die Schleife frühzeitig abbrechen, wenn ein nicht-fettes Zeichen gefunden wird:

    If Not .Characters(Start:=i, Length:=1).Font.Bold Then Exit For
  • Verwende die Eingabehilfe: Wenn du die Funktion in eine Zelle eingibst, wird sie dir in der Eingabehilfe von Excel angezeigt, sofern diese aktiviert ist.


FAQ: Häufige Fragen

1. Funktioniert das auch in Excel Online? Leider funktioniert VBA nicht in Excel Online, du musst Excel auf deinem Desktop verwenden.

2. Kann ich die Funktion in mehreren Zellen gleichzeitig verwenden? Ja, du kannst die Funktion in mehreren Zellen verwenden, indem du die entsprechenden Zellreferenzen angibst.

3. Was passiert, wenn die Zelle leer ist? Die Funktion gibt einen leeren String zurück, wenn die Zelle keine Inhalte hat.

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