Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
804to808
804to808
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Hochstellung von Zeichenfolgen

Hochstellung von Zeichenfolgen
21.09.2006 13:08:37
Chris
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

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hochstellung von Zeichenfolgen
21.09.2006 13:27:37
Galenzo
ich empfehle dir, das Hochstellen eines Zeichens mal per Makrorecorder aufzuzeichnen.
da sollte ein Licht angehen...
Viel Erfolg!
/Galenzo
AW: Hochstellung von Zeichenfolgen
21.09.2006 14:29:09
Chris
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
Anzeige
AW: Hochstellung von Zeichenfolgen
25.09.2006 13:35:19
Galenzo
.. 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
AW: Hochstellung von Zeichenfolgen
21.09.2006 14:18:33
ptonka
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 !!!!
Anzeige
AW: Hochstellung von Zeichenfolgen / Danke
22.09.2006 15:23:31
Chris
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

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige