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.
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.
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:
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.
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:
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
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:
Irgendetwas hier gefällt ihm nicht?!
...(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.