Herbers Excel-Forum - das Archiv

Hochstellung von Zeichenfolgen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Hochstellung von Zeichenfolgen
von: Chris

Geschrieben am: 21.09.2006 13:08:37
Hallo,
in einer Arbeitsmappe sind mehrfach die Zeichenfolge "*1" , "*2" oder "*3" vorhanden. Diese soll auf eine bestimmte Fußnote hinweisen.
Diese Zeichenfolgen stehen zumeißt nicht alleine in einer Zelle, sondern mit anderen als Texteingabe
Beispiel:
Verursacher*1
Person*1
Auswirkung*2
Wie ist es möglich, die Zeichenfolgen "*1" hochzustellen und zwar NUR das "Sternchen 1", nicht die gesamte Zelle.
Mit folgendem Makro ist immer alles hochgestellt:
Sub Makro2()
Dim Sht As Worksheet
With Application.ReplaceFormat.Font
.Superscript = True
End With
For Each Sht In Worksheets
Sht.Cells.Replace What:="*1", _
Replacement:="*1", LookAt:=xlPart, MatchCase:=False, ReplaceFormat:=True
Sht.Cells.Replace What:="*2", _
Replacement:="*2", LookAt:=xlPart, MatchCase:=False, ReplaceFormat:=True
Sht.Cells.Replace What:="*3", _
Replacement:="*3", LookAt:=xlPart, MatchCase:=False, ReplaceFormat:=True
Next
End Sub

Vielen Dank für Eure Hilfe
Chris
Bild

Betrifft: AW: Hochstellung von Zeichenfolgen
von: Galenzo
Geschrieben am: 21.09.2006 13:27:37
ich empfehle dir, das Hochstellen eines Zeichens mal per Makrorecorder aufzuzeichnen.
da sollte ein Licht angehen...
Viel Erfolg!
/Galenzo
Bild

Betrifft: AW: Hochstellung von Zeichenfolgen
von: Chris

Geschrieben am: 21.09.2006 14:29:09
Hallo Galenzo,
mein Makro - abgewandelte Aufzeichnugn einer Suchen/ersetzen Funktion - stellt die ganze Zelle hoch.
Dein Hinweis, die Aufzeichnung mit dem Makro-Recorder vom Hochstellen bringt mich da nicht weiter. Sie ergibt Anweisungen wie
With ActiveCell.Characters(Start:=6, Length:=2).Font...... .Superscript = True
Zumindest der Start variiert jedoch. Deshalb wollte ich ja die Suchen/Ersetzen Funktion nutzen.
Übrigens: Ein konkreter Hinweis welches Licht aufgehen sollte bzw. wie Dein Lösungsansatz ist, ist viel sinnvoller als eine kryptische Anweisung zur Selbsterkenntnis.
Gruß
Christoph
Bild

Betrifft: AW: Hochstellung von Zeichenfolgen
von: Galenzo

Geschrieben am: 25.09.2006 13:35:19
.. genau das ist die Anweisung, die zu Denken geben sollte.
ActiveCell.Characters(Start:=6, Length:=2).Font...... .Superscript = True
Die 2 Zeichen ab Position 6 werden hochgestellt. Du mußt das ganze nur noch auf deine Wünsche anpassen.
Viel Erfolg!
/Galenzo
Bild

Betrifft: AW: Hochstellung von Zeichenfolgen
von: ptonka

Geschrieben am: 21.09.2006 14:18:33
Hallo,
mit dem Makro sollte es funktionieren:
Allerdings ist hier die Fussnote fix vorgegeben.
Entweder Du gibst die Fussnote per Userform vor oder änderst diese im anliegenden Makro.
Du kannst auch das Makro so anpassen, dass *1, *2 und *3 gefunden werden.
Besser wäre es aber, eine Userform zu nutzen und das Makro hinter einen CommanButton zu hängen. Zu Beginn des Makros muss dann aber die Eingabe in der Userform abgefragt werden.
Hier das Makro:
Sub fussnoten_hochstellen()
Range("A1").Select
On Error GoTo ende
Cells.Find(What:="*1", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
AktiveZelle = ActiveCell.Address
vonvorne:
Wert = ActiveCell.Value
Länge = Len(Wert)
For i = 1 To Länge
If Mid(Wert, i, 1) = "*" Then
Starttext = i
GoTo weiter
End If
Next i
weiter:
EndeText = Länge - Starttext + 1
With ActiveCell.Characters(Start:=Starttext, Length:=EndeText).Font
.Superscript = True
End With
Cells.FindNext(After:=ActiveCell).Activate
If ActiveCell.Address <> AktiveZelle Then
GoTo vonvorne
End If
ende:
End Sub

Für Feedback sind viele andere auch dankbar !!!!
Bild

Betrifft: AW: Hochstellung von Zeichenfolgen / Danke
von: Chris

Geschrieben am: 22.09.2006 15:23:31
Hallo Ptonka,
vielen dank für Dein Makro. Es funktionierte gut.
Es stellte zwar immer alles bis zum Ende der Zelle hoch - auch wenn der Fußnotenverweis eigentlich beendet war - dieses konnte aber durch leichtes Bearbeiten der Längenvariable behoben werden.
Danke.
Gruß
Chris
 Bild
Excel-Beispiele zum Thema "Hochstellung von Zeichenfolgen"
Zeichenfolgen in Zahlen nach Textimport Zeichenfolgen zusammenfassen
Zeichenfolgen ändern, wenn ein sie einen bestimmten Text enthalten Zeichen in Zeichenfolgen umwandeln und Leerzeichen entfernen
Suchen von Nachnamen in Zeichenfolgen 5-Längen-Zeichenfolgen in Zeit mit Format mss,00 umwandeln
Zeichenfolgen vervollständigen Zeichenfolgen über Doppelklick in externen Bezug umwandeln.
Werte aus Zeichenfolgen filtern und berechnen Umwandeln von Zeichenfolgen in Währung