Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1200to1204
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
Textbox beim Sonderzeichen Zeile Format Fett
Karel
Gute Morgen,
Im Textbox geben ich einen Text ein mit Umbruch mit ausgabe in Zelle,nach Folgende Muster.
Massives Vollholz Buffet Landhausstil!
- Größe: ca. B 110 x T 50/30 x H 210 cm
- Farbe: Cremeweiss von Hand gestrichen
- in Handarbeit gefertigt aus Massivholz
- das Glas hat einen Facettenschliff
- sehr gute Verarbeitung und Qualität
- Das Buffet besteht aus zwei Elementen
Oberteil:
- 2 Glasturen mit Facettenschliff
- im Inneren befinden sich jeweils 2 Einlegeböden
Gerne möchte ich bestimmte Zeile in Format Fett darstellen sehe beispiel.
Ich hatte gedacht dass alle Zeile die ein Sonderzeichen "führendem Hochkomma" im Anfang ihre Zeile habe bekommen das Format Fett in der Zelle. Sonderzeichen ist führendem Hochkomma " ' "
Wenns geht dann sollte nach übertrag in der zelle das Sonderzeichen Hochkomma im Zelle entfernt werden.
'Massives Vollholz Buffet Landhausstil!
- Größe: ca. B 110 x T 50/30 x H 210 cm
- Farbe: Cremeweiss von Hand gestrichen
- in Handarbeit gefertigt aus Massivholz
'- das Glas hat einen Facettenschliff
- sehr gute Verarbeitung und Qualität
- Das Buffet besteht aus zwei Elementen
'Oberteil:
- 2 Glasturen mit Facettenschliff
- im Inneren befinden sich jeweils 2 Einlegeböden
Code Textbox
Option Explicit
Private Sub CommandButton1_Click()
ActiveCell.Activate
With ActiveCell
.Value = TextBox1.Value
.Replace What:=Chr$(13), Replacement:=" "
End With
Unload Me
End Sub

Private Sub UserForm_Initialize()
TextBox1 = ActiveCell.Value
End Sub

Grüße
Karel
AW: Textbox beim Sonderzeichen Zeile Format Fett
18.02.2011 15:57:11
fcs
Hallo Karel,
hier der angepasste Code für den Commandbutton des Userforms.
Gruß
Franz
Private Sub CommandButton1_Click()
Dim arrText, iI As Long
Dim ArrFett() As Long, iJ As Long
Dim Zelle As Range, sZelle As String
Const sSonderzeichen As String = "'"
Set Zelle = ActiveCell
'Textboxtext an Zeilenschaltungen splitten
arrText = Split(TextBox1.Text, Chr(10))
'Text für Zelle zusammenfügen und Positionen der fett zu formatierenden _
Textteile ermitteln
For iI = LBound(arrText) To UBound(arrText)
If iI > LBound(arrText) Then
sZelle = sZelle & Chr(10)
End If
'Prüfen, ob Sonderzeichen am Zeilenanfang
If Left(arrText(iI), 1) = sSonderzeichen Then
iJ = iJ + 1
ReDim Preserve ArrFett(1 To 2, 1 To iJ)
ArrFett(1, iJ) = Len(sZelle) + 1
ArrFett(2, iJ) = Len(arrText(iI))
sZelle = sZelle & Mid(arrText(iI), 2)
Else
sZelle = sZelle & arrText(iI)
End If
Next
With Zelle
'Text ohne Sonderzeichen einfügen
.Value = sZelle
'Formatierung der Zelle auf nicht fett setzen
.Font.Bold = False
'ggf. Textabschnitte fett formatieren
For iI = 1 To iJ
.Characters(Start:=ArrFett(1, iI), Length:=ArrFett(2, iI)).Font.Bold = True
Next
End With
Unload Me
End Sub

Anzeige
AW: Textbox beim Sonderzeichen Zeile Format Fett
19.02.2011 17:32:34
Karel
Hallo Franz,
vielen dank erstmall, genau so sollte es sein funktioniert perfekt.
Habe nach Teste aber noch ein paar (änderungs)wünsche Wenn's geht :-))
Zum bessere erklärung datei angehangt

Die Datei https://www.herber.de/bbs/user/73628.xls wurde aus Datenschutzgründen gelöscht


1) es geht um den Position sonderzeichen " ' " vor Zeile oder im Zeile
2) Sonder zeichen als führungszeichen Bullest oder Haken sehe Anhang
Mochte gerne da wo Cursor steht über Button führungszeichen einfügen mit ein Leerzeichen.
Problem ist Schriftart für Führungszeichen "wingdings für Haken"
is so ettwass machbar!
Grüße
Karel
Anzeige
AW: Textbox beim Sonderzeichen Zeile Format Fett
20.02.2011 15:33:01
fcs
Hallo Karel,
ich hab dein Userform und den zugehörigen Code entsprechend deiner Wunschliste angepasst.
https://www.herber.de/bbs/user/73635.xls
Den "•" kann man leider nicht direkt per Button in der Textbox an der Cursorposition einfügen, da es kein entsprechendes Tastaturzeichen gibt bzw. der über die Tastatur mögliche Weg (Alt + Ziffern im Tastatur-Nummernblock) unter VBA nicht fuktioniert. Ich bin den Umweg über das Zeichen "#" gegangen.
Ich hab auch etwas mehr Flexibilität ins UF eingebaut. Du kannst bei geöffnetem Formular die aktive Zelle wechseln und deren Inhalt in die Textbox laden. Ebenso kannst natürlich vor dem Eintragen die Zielzelle wechseln. Ähnliche Zellinhalte lassen sich so einfach in mehrere Zellen eintragen, ohne dass du das Sonderzeichen für die Fett-Formatierung immer neu eingeben muss.
Gruß
Franz
Anzeige
AW: Textbox beim Sonderzeichen Zeile Format Fett
20.02.2011 17:44:26
Karel
Hallo Franz,
Besser geht nicht mehr danke, auch für die extra sache die du im UF eingebaut sind richtig Schön.
habe aber noch ein Problem getestet unter excel 2003, Excel 2007 morgen im Büro
Problem ist: da stehen bei jedem Zeilenumbruch diese kleinen Zeileumbruch Quadrat-Symbole im Zelle.
Kann mann das noch hinbekommen, habe selber mit chr(13) probiert hat niks gebracht.
Grüße
Karel
AW: Textbox beim Sonderzeichen Zeile Format Fett
20.02.2011 23:52:33
Reinhard
Hallo Karel,
sicher daß es die 13 ist?
probiere mal sowas:

For N = 1 to len(range("c7"))
msgbox asc(mid(range("c7"),N,1))
next N

und berichte.
Replace kennst du?
Gruß
Reinhard
Anzeige
AW: Text Analyse von Sonderzeichen
21.02.2011 00:25:11
Sonderzeichen
Hallo Reinhard,
es sind in der Tat Steuerzeichen 13 im Text. Sie werden wohl eingefügt als Kombination von Zeichen 13 und 10, wenn in einer Userform-Textbox mit Multiline eine Zeile eingefügt wird. Beim Einfügen des Textbox-Inhalts in eine Zelle wird Zeichen 13 dann zumindest unter den älteren Excelversionen als Quadrat dargestellt.
Hier mein Excel-Tool zur Analyse von Texten mit mysteriösen Zeichen.
Gruß
Franz
Sub Unicode_ANSI_Text()
'Zeigt die ANSI und Unicode-Nummer der Zeichen in einer Zelle an
Call AnalyseText(Selection.Text)
End Sub
Private Sub AnalyseText(Text As String)
Dim strText As String, iPosition As Integer, Zeichen As String
'Zeigt die ANSI und Unicode-Nummer der Zeichen im Text an
For iPosition = 1 To Len(Text)
Zeichen = Mid(Text, iPosition, 1)
strText = strText & Zeichen
If MsgBox(strText & vbLf & "Zeichen an Position " & iPosition & ": " & Zeichen & vbLf _
& "ANSI-ZeichenNr: " & Asc(Zeichen) & vbLf _
& "Unicode-ZeichenNr: " & AscW(Zeichen) _
, vbOKCancel, "Analyse-Text") = vbCancel Then Exit For
Next
End Sub

Anzeige
AW: Textbox beim Sonderzeichen Zeile Format Fett
21.02.2011 00:11:46
fcs
Hallo Karel,
ich hab mit Excel 2007 gearbeitet. Da gibt es das Problem zumindest optisch scheinbar nicht.
Ergänze am Ende der Prozedur für den Commandbutton1 die beiden neuen Zeilen um das Steuerzeichen aus dem Zelltext zu entfernen:
    Next
'Steuerzeichen 13 im Zelltext entfernen/ersetzen          '####neu
.Value = VBA.Replace(.Value, Chr(13), "")                 '####neu
End With
'  Unload Me
End Sub
Gruß
Franz
AW: Textbox beim Sonderzeichen Zeile Format Fett
21.02.2011 14:39:12
Karel
Hallo Franz,
im Excel 2007 funktioniert alles perfekt Excel 2003 testen ich heute abend zuhause.
Wegen die extra eingebaute funktionalität lauft bei mir dass wasser im Mund.
Wie kann ich die erste Zeile Schriftgröße mit Font.Size texgrösse (20) stellen, habe mit LineCount probiert aber mein VBA reicht noch nicht aus.
Und einen grösse frage noch, habe im Forum gesucht und gefunden aber nicht verstanden!
Zellinhalt als HTML bezogen auf meine Formatierung, wenns dass noch geht, sollte Super sein
https://www.herber.de/forum/archiv/1164to1168/t1167530.htm
'ggf. Textabschnitte als Wingdings formatieren
For iI = 1 To iK
.Characters(Start:=ArrWing(iI), Length:=1).Font.Name = "Wingdings"
.Characters(Start:=ArrWing(iI), Length:=1).Font.Size = "20"
.Characters(Start:=ArrWing(iI), Length:=1).Font.ColorIndex = "10"
.Characters(Start:=ArrWing(iI), Length:=1).Font.Bold = True

Letzte 3 Zeile selbst hinzugefügt
Grusse
Kare
Anzeige
AW: Textbox beim Sonderzeichen Zeile Format Fett
22.02.2011 08:32:22
fcs
Hallo Karel,
da müssen im Code etliche Anpassungen gemacht werden, um Zeile1 des Zelltextes besonders zu formatieren und auch das Steuerzeichen13 zu beseitigen. Nachfolgend der komplette Code des Eintragen-Buttons.
Bezügl. HTML kann ich dir nicht sehr viel weiter helfen. Ich hatte mich zwar an der Diskussion in dem Thread beteiligt, aber ich kenne die endgültige Lösung nicht, die dann zum Ziel geführt hat.
Gruß
Franz
Private Sub CommandButton1_Click()
'Einfügen-Button
Dim arrText, iI As Long, Laenge1 As Long
Dim ArrFett() As Long, iJ As Long
Dim ArrWing() As Long, iK As Long
Dim Zelle As Range, sZelle As String
Set Zelle = ActiveCell
sZelle = TextBox1.Text
'Steuerzeichen 13 im Text entfernen/ersetzen
sZelle = VBA.Replace(sZelle, Chr(13), "")
'Textboxtext an Zeilenschaltungen splitten
arrText = Split(sZelle, Chr(10))
sZelle = ""
'Text für Zelle zusammenfügen und Positionen der fett zu formatierenden _
Textteile und der als Wingding zu formatierenden Texte ermitteln
For iI = LBound(arrText) To UBound(arrText)
If iI > LBound(arrText) Then
'ab 2. Zeile, Zeilenschaltung vor dem Text einfügen
sZelle = sZelle & Chr(10)
End If
'Prüfen, ob "# " am Zeilenanfang
If Left(arrText(iI), 2) = "# " Then
'"# " ersetzen durch "• "
arrText(iI) = Chr(149) & " " & Mid(arrText(iI), 3)
End If
'Prüfen, ob "ü " am Zeilenanfang
If Left(arrText(iI), 2) = "ü " Then
'Position merken für Wimngdings-Formatierung
iK = iK + 1
ReDim Preserve ArrWing(1 To iK)
ArrWing(iK) = Len(sZelle) + 1
End If
'Prüfen, ob Sonderzeichen "'" im Text
If InStr(1, arrText(iI), sSonderzeichen) > 0 Then
iJ = iJ + 1
ReDim Preserve ArrFett(1 To 2, 1 To iJ)
'Position des Sonderzeichens
ArrFett(1, iJ) = Len(sZelle) + InStr(1, arrText(iI), sSonderzeichen)
'Länge des Textes bis zum Zeilenende
ArrFett(2, iJ) = Len(arrText(iI)) - InStr(1, arrText(iI), sSonderzeichen)
'Text vor und nach dem Sonderzeichen zum Zelltext hinzufügen
sZelle = sZelle & Left(arrText(iI), InStr(1, arrText(iI), sSonderzeichen) - 1) _
& Mid(arrText(iI), InStr(1, arrText(iI), sSonderzeichen) + 1)
Else
'Text zum Zelltext hinzufügen
sZelle = sZelle & arrText(iI)
End If
If iI = LBound(arrText) Then
'Länge Text in 1. Zeile
Laenge1 = Len(sZelle)
End If
Next
With Zelle
'Text ohne Sonderzeichen einfügen
.Value = sZelle
'Schrift-Formatierung der Zelle zurücksetzen
With .Font
.Bold = False ' nicht fett
.Name = "Calibri" 'Font
.ColorIndex = 1
.Size = 14
End With
'1. Zeile formatieren
With .Characters(Start:=1, Length:=Laenge1).Font
.Bold = True
.Size = 20
.ColorIndex = 10
End With
'ggf. Textabschnitte fett formatieren
For iI = 1 To iJ
.Characters(Start:=ArrFett(1, iI), Length:=ArrFett(2, iI)).Font.Bold = True
Next
'ggf. Textabschnitte als Wingdings formatieren
For iI = 1 To iK
.Characters(Start:=ArrWing(iI), Length:=1).Font.Name = "Wingdings"
Next
End With
'  Unload Me
End Sub

Anzeige
AW: Textbox beim Sonderzeichen Zeile Format Fett
22.02.2011 10:36:14
Karel
Hallo Franz,
Vielen dank für deine Code, lauft einwandfrei
Danke für deine einsatz
grüße
Karel
AW: Textbox beim Sonderzeichen Zeile Format Fett
22.02.2011 11:08:41
Karel
Hallo Franz,
gibt leider noch eim kleines problem:
Button für Bullet und Haken gehn nicht mehr :-(
habe mein Datei drangehangt mit deine Code
https://www.herber.de/bbs/user/73670.xlsm
Getestet Excel 2007 und Excel 2003
Grüße
Karel
AW: Textbox beim Sonderzeichen Zeile Format Fett
22.02.2011 20:11:33
fcs
Hallo Karel,
irgendwie hast du beim Einfügen des neuen Codes für den Commandbutton1 den Code für die anderen beiden Schaltflächen gelöscht.
Füge die folgenden Zeilen wieder ein:
Private Sub CommandButton2_Click()
'Text an Cursor-Position einfügen - wird in der Zelle als Wingdings formatiert
Application.SendKeys Keys:="ü ", Wait:=True
End Sub
Private Sub CommandButton3_Click()
'Text an Cursor-Position einfügen - temporärer Ersatz für "• "
Application.SendKeys Keys:="# ", Wait:=True
End Sub

Gruß
Franz
Anzeige
AW: Textbox beim Sonderzeichen Zeile Format Fett
22.02.2011 13:36:58
Karel
Hallo Franz,
Fehler gefunden, bei mir lag der fehler Code im Buttons hatte zich verschoben.
Viele Viele Dank für dein einsatz lauft wie Sahne
Grüße
Karel

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige