Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1000to1004
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Fettdruck 1. Zeile bei mehrzeiliger Zelle

Fettdruck 1. Zeile bei mehrzeiliger Zelle
12.08.2008 11:05:00
Horst_H
Hallo,
Frage: Wie stelle ich es an, in einer erstellten, mehrzeiligen Zelle die Zeichenlänge der ersten Zellzeile auszulesen, um diese dann in Fettschrift zu bekommen. Nur die 1. Zeile in der Zelle. Voran ging der threat https://www.herber.de/forum/messages/1000905.html
, den ich dann soweit abänderte. Leider funktioniert die Schriftformatierung der 1. Zeile nicht, weil der 1. Zellinhalt in Spalte C vor Mehrzeilenerstellung variable ausgezählt werden müsste und dann diese Zeichenanzahl bei der Formatierung übergeben werden müsste, um daraufhin die genaue Zeichenanzahl der 1. Zeile passgenau fjür jede Zelle übergeben zu können. . Da viele Listen, die sich monatlich ändern, ist Handarbeit unmöglich. Wie mache ich das? Wer weiß weiter? Danke für jeden Tipp/Hilfe!! + Gruß, Horst_H
Datei:
https://www.herber.de/bbs/user/54535.xls

Sub UmbrZeilen2()
Dim rng As Range
For Each rng In Range(Cells(3, 3), Cells(Cells(Rows.Count, 3).End(xlUp).Row, 3))
rng = rng & IIf(IsNull(rng.Offset(, 5)), "", vbLf & "     [1] " & rng.Offset(, 5)) & _
IIf(IsNull(rng.Offset(, 6)), "", vbLf & "     [2] " & rng.Offset(, 6))
'Format der 1. Zeile in der Zelle
With ActiveCell.Characters(Start:=1, Length:=20).Font  ' müsste variable vorher ausgelesen und   _
_
berücksichtigt werden
.Name = "Arial"
.FontStyle = "Fett"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
rng.Offset(, 5).Resize(, 2).ClearContents
Next rng
End Sub


9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fettdruck 1. Zeile bei mehrzeiliger Zelle
12.08.2008 11:22:15
Daniel
Hi
der Zeilenumbruch ist ein ASCII-Zeichen innerhalb des Strings, daher kannst du seine Postion mit der INSTR-Funktion herausfinden:
= InStr(ActiveCell.Value, Chr(10)
oder
= InStr(ActiveCell.Value, vbLF)
gibt es innerhalb der Zelle keinen Zeilenumbruch, so ist das ergebnis der INSTR-Funktion 0
Es können auf diese Weise nur erzwungene Zeilenumbrüche gefunden werden, aber keine, die erfolgen weil die Zelle zu schmal ist.
Gruß,Daniel

AW: Fettdruck 1. Zeile bei mehrzeiliger Zelle
12.08.2008 12:13:00
Horst_H
Halo Daniel,
danke. Probiere, ob ich es hinbekomme.
Gruß, Horst_H

AW: Fettdruck 1. Zeile bei mehrzeiliger Zelle
12.08.2008 14:22:56
Horst_H
Halo Daniel,
ich bekomme das nicht hin. Habe Pos1 = InStr(ActiveCell.Value, Chr(10)) und dan nach den IFF mit eingebunden - ist falsch. Kannst du mir bitte an dieser Stelle noch helfen. Danke! + Gruß, Horst_H

Anzeige
AW: Fettdruck 1. Zeile bei mehrzeiliger Zelle
12.08.2008 14:47:41
Daniel
Hi
in dem Code darfst du nicht mit ActiveCell arbeiten.
die aktuelle Zelle, die bearbeitet wird, steht in der Variablen "rng".
diese musst du anstelle von "ActiveCell" benutzen, dann müsste es gehen.
Gruß, Daniel

AW: Fettdruck 1. Zeile bei mehrzeiliger Zelle
12.08.2008 14:57:30
Horst_H
Hi Daniel,
meine Versuche scheitern - was denke ich denn verkehrt? Danke+Gruß, Horst_H:

Sub UmbrZeilen2()
Dim rng As Range
'   Dim Pos1 As Variant
'Pos1 = InStr(ActiveCell.Value, Chr(10))
For Each rng In Range(Cells(3, 3), Cells(Cells(Rows.Count, 3).End(xlUp).Row, 3))
rng = rng & IIf(IsNull(rng.Offset(, 5)), "", vbLf & "     [1] " & rng.Offset(, 5)) & _
IIf(IsNull(rng.Offset(, 6)), "", vbLf & "     [2] " & rng.Offset(, 6))
'Pos1 = InStr(rng.Value, vbLf)
'Pos1 = InStr(rng.Value, Chr(10))
With ActiveCell.Characters(Start:=1, Length:=InStr(rng.Value, vbLf)).Font  ' müsste variable  _
vorher ausgelesen und berücksichtigt werden
.Name = "Arial"
.FontStyle = "Fett"
.Size = 10
'        .Strikethrough = False
'        .Superscript = False
'        .Subscript = False
'        .OutlineFont = False
'        .Shadow = False
'        .Underline = xlUnderlineStyleNone
'        .ColorIndex = xlAutomatic
End With
'      rng.Offset(, 5).Resize(, 2).ClearContents
Next rng
End Sub


Anzeige
AW: Fettdruck 1. Zeile bei mehrzeiliger Zelle
12.08.2008 14:59:59
Daniel
Hi
ich sagte, du musst ActiveCell durch rng ersetzen.
damit meinte ich ALLE ActiveCell im Code.
Gruß, Daniel

AW: Fettdruck 1. Zeile bei mehrzeiliger Zelle
12.08.2008 15:05:00
Horst_H
Danke für die Schelte - hab's jetzt kapiert und Danke! Funktioniert 1A. Gruß, Horst_H

AW: Fettdruck 1. Zeile bei mehrzeiliger Zelle
12.08.2008 15:09:00
Daniel
HI
wo habe ich da gescholten?
ich habe nur meine Anweisung etwas präzisiert.
btw:
Variablen bitte immer korrekt dimensonieren.
InStr gibt als ergebnis eine Ganzzahl zurück, also muss POS1 als INTEGER oder LONG dimensioniert werden.
(integer deckt den Zahlenbereich bis c.a. 32.000 ab, long bis c.a 2 Mrd)
und bitte immer mit Option Explicit arbeiten, um Tipfehler bei Variablennamen auszuschließen
guckst du hier:
http://www.online-excel.de/excel/singsel_vba.php?f=4
Gruß, Daniel

Anzeige
AW: Fettdruck 1. Zeile bei mehrzeiliger Zelle
12.08.2008 15:20:00
Horst_H
sorry, dass ich noch einmal poste - war mehr spaßig gemeint, so nach dem Motto: Augen auf, dann wär das nicht passiert. Danke für deine tolle Unterstützung!!
Gruß, Horst_H

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige