Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
764to768
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
764to768
764to768
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Nochmals Problem bei Text verketten

Nochmals Problem bei Text verketten
15.05.2006 09:47:03
Emil
Hallo,
in Zelle A1 steht der Ausdruck "5B", dabei hat das "B" die Formatierung "tiefgestellt".
Die Anweisung: Cells(1,1) = cells(1,1) & "x10" soll den Ausdruck "5Bx10" liefern, dabei soll das "B" tiefgestellt bleiben. Die Formatierung wird durch das Verketten aber gelöscht.
Wie kann ich dieses Problem lösen?
Gruß Emil

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nochmals Problem bei Text verketten
15.05.2006 10:06:21
Peter
Hallo Emil,
so geht es - wenn das 'B' immer an der zweiten Stelle im Text steht:
Public

Sub Verketten()
Cells(1, 1) = Cells(1, 1) & "x10"
Cells(1, 1).Characters(Start:=2, Length:=1).Font.Subscript = True
End Sub

Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
AW: Nochmals Problem bei Text verketten
15.05.2006 11:06:24
Emil
Hallo Peter,
vielen Dank für die Antwort. Leider ist das Problem dadurch nicht gelöst, da ich eine allgemeine Lösung für beliebige Fälle brauche. Hast Du noch eine andere Idee?
Gruß Emil
AW: Nochmals Problem bei Text verketten
15.05.2006 11:13:54
Erich
Hallo Emil,
wie wäre es damit?
Sub TstVerketten()
VerkettenHochTief [a8], [a9], [a10:a11]
VerkettenHochTief [a8:a9], [a9], [a10:a11]
End Sub
Sub VerkettenHochTief(rg1 As Range, rg2 As Range, rgErg As Range)
Dim ii%
If rg1.Rows.Count * rg1.Columns.Count * rg2.Rows.Count * rg2.Columns.Count <> 1 Then
MsgBox "Kann nur mit einzelnen Quellzellen aufgerufen werden", _
vbCritical, "VerkettenHochTief"
Exit Sub
End If
With rgErg
.Value = rg1 & rg2
For ii = 1 To Len(rg1)
If rg1.Characters(ii, 1).Font.Subscript Then
.Characters(Start:=ii, Length:=1).Font.Subscript = True
ElseIf rg1.Characters(ii, 1).Font.Superscript Then
.Characters(Start:=ii, Length:=1).Font.Superscript = True
End If
Next ii
For ii = 1 To Len(rg2)
If rg2.Characters(ii, 1).Font.Subscript Then
.Characters(Start:=Len(rg1) + ii, Length:=1).Font.Subscript = True
ElseIf rg2.Characters(ii, 1).Font.Superscript Then
.Characters(Start:=Len(rg1) + ii, Length:=1).Font.Superscript = True
End If
Next ii
End With
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Nochmals Problem bei Text verketten
15.05.2006 11:24:07
Franz
Hallo Emil,
folgendes Makro ermittelt zunächst die Position des tiefgesetzten Zeichens

Sub Verketten()
'Position des tiefgesetzten Zeichens finden
Position = 0
For I = 1 To Len(Cells(1, 1))
If Cells(1, 1).Characters(Start:=I, Length:=1).Font.Subscript = True Then
Position = I
Exit For
End If
Next I
Cells(1, 1) = Cells(1, 1) & "x10"
If Position > 0 Then
Cells(1, 1).Characters(Start:=Position, Length:=1).Font.Subscript = True
End If
End Sub

Gruß
Franz
AW: Nochmals Problem bei Text verketten
15.05.2006 11:48:42
Erich
Hallo nochmal,
wenn du nicht zwei Zellen verketten willst, sondern an eine Zelle vorn oder hinten einen Text anhängen willst, ginge das so:
Sub TstVerkett()
VerkettenVor "abc", [a9], [a14]
VerkettenNach [a9], "abc", [a15]
End Sub
Sub VerkettenNach(rgQu As Range, strNach As String, rgErg As Range)
Dim ii%
With rgQu
If .Rows.Count * .Columns.Count <> 1 Then
MsgBox "Kann nur mit einzelnen Quellzellen aufgerufen werden", _
vbCritical, "VerkettenHochTief"
Exit Sub
End If
rgErg = .Value & strNach
For ii = 1 To Len(rgQu)
If .Characters(ii, 1).Font.Subscript Then
rgErg.Characters(Start:=ii, Length:=1).Font.Subscript = True
ElseIf .Characters(ii, 1).Font.Superscript Then
rgErg.Characters(Start:=ii, Length:=1).Font.Superscript = True
End If
Next ii
End With
End Sub
Sub VerkettenVor(strVor As String, rgQu As Range, rgErg As Range)
Dim ii%
With rgQu
If .Rows.Count * .Columns.Count <> 1 Then
MsgBox "Kann nur mit einzelnen Quellzellen aufgerufen werden", _
vbCritical, "VerkettenHochTief"
Exit Sub
End If
rgErg = strVor & .Value
For ii = 1 To Len(rgQu)
If .Characters(ii, 1).Font.Subscript Then
.Characters(Start:=ii + Len(strVor), Length:=1).Font.Subscript = True
ElseIf .Characters(ii, 1).Font.Superscript Then
.Characters(Start:=ii + Len(strVor), Length:=1).Font.Superscript = True
End If
Next ii
End With
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Nochmals Problem bei Text verketten
15.05.2006 11:56:15
Emil
Hallo Franz und Erich,
ja, so funktioniert es. Vielen Dank!
Eine direkte Lösung gibt es wohl leider nicht.
Gruß Emil

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige