Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Excel03: Erste Zeile einer Zelle fett setzen





Frage

Hallo, ich möchte gern per bedingte Formatierung oder per Makro die erste Zeile einer Zelle fett setzen. Gemeint ist nicht die ganze Zeile, sondern die innerhalb einer einzelnen Zelle (mit Alt+Enter) Vielen Dank für Vorschläge. Grüße, Bernd

Antwort 1 von coros

Moin Bernd,

mit nachfolgendem Makro sollte das, was Du Dir vorstellst, funktionieren. Kopiere es in ein "StandardModul" und starte es über eine Befehlsschaltfläche.

Option Explicit

Sub erste_Zeile_fett()
With Range("A1").Characters(Start:=1, Length:=InStr(Cells(1, 1), vbLf)).Font
        .FontStyle = "Fett"
End With
End Sub


Mit dem Makro wird der Text einer Zelle bis zum Zeilenumbruch in Fett formatiert. Der Text nach dem Zeilenumbruch bleibt normal formatiert.

Ich hoffe, dass Du klar kommst. Bei Fragen melde Dich bitte.

Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 3 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 2 von coros

Hi,

ich noch mal. War etwas schnell mit dem Abschicken. Ich hatte vergessen zu erwähnen, dass der Text in Zelle A1 umformatiert wird. Wenn es immer die vorher markierte Zelle sein soll, dann muss anstelle der Zellenbezeichnung "ActiveCell" eingetragen werden. Also lautet dann das Makro:

Option Explicit

Sub erste_Zeile_fett()
With ActiveCell.Characters(Start:=1, Length:=InStr(ActiveCell, vbLf)).Font
        .FontStyle = "Fett"
End With
End Sub


So das war´s. Bei Problemen oder Fragen zu dem Makro bitte melden.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 3 von BerndOhneBrot

Hi Oliver,

vielen Dank für deine Hilfe!
Habe es irgendwie einmal hinbekommen, aber nun funktioniert es nicht mehr. Ich formatiere die Characters aus einem Access-Makro in der Exceltabelle:

            .Range("C" & i).Value = Forms!Ziel!Zielbereich & Chr(10) & Replace(Forms!Ziel!Zielbeschreibung, Chr(13), "")
            With Range("C" & i).Characters(Start:=1, Length:=InStr(Cells(i, 3), vbLf)).Font
                .FontStyle = "Bold"
            End With
            .Rows(i, "C").EntireRow.AutoFit

Dann habe ich die Tabelle einmal erstellt und siehe da es hat wunderbar ausgeschaut. Dann habe ich ein bisschen was geändert und es ging nicht mehr. Mit UnDo konnte ich den Zustand aber auch nicht mehr herstellen?!
Hast du Rat?
Danke,
Bernd

Antwort 4 von BerndOhneBrot

Ich habe den Fehler noch weiter eingegrenzt:


...(Start:=1, Length:=InStr(Cells(i, 3)...



Irgendetwas hier gefällt ihm nicht?!

Antwort 5 von BerndOhneBrot


objExcelApp.Cells(i, 3)

löst das Problem.

Nochmal für alle Interessierten:
Wenn ihr die Länge der zu verändernden Characters mit InStr zurückgeben wollt, dann achtet darauf, dass der String1, also der zu durchsuchende String, auch richtig innerhalb des Objektes verwiesen wird.

Wieso es kurzzeitig einmal ging, weiss ich allerdings nicht genau.

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: