
Ich habe einige mit Bindestrich versehene Daten wie diese:
A
1| 2-8
2| 0-12345
3| 15-123
4| and so on
Wie richte ich den Inhalt in Word oder Excel so aus, dass der Bindestrich in der Mitte steht?
Antwort1
Lösung für Excel
Angenommen, Sie sprechen über die Zentrierung von Text innerhalb eineseinzelne Spalte(und kein Streit)
Mit VBA können Sie 3 Schritte mit einem Klick ausführen
- Stellen Sie Ihre Zellen auf eine Schriftart mit einer festen Breite ein, wie etwaKonsolen
- Zentrieren Sie Ihre Zellen
- Fügen Sie am Anfang oder Ende Ihrer Zeichenfolge Leerzeichen hinzu, bis der Bindestrich zentriert ist
Sub CenterHyphenatedContent()
For Each cell In UsedRange
If InStr(cell.Value, "-") > 0 Then
cell.Font.Name = "Consolas"
cell.HorizontalAlignment = xlCenter
intLenLeft = InStrRev(cell.Value, "-") - 1
intLenRight = Len(cell) - InStr(cell.Value, "-")
intDiff = Abs(intLenLeft - intLenRight)
If intLenLeft > intLenRight Then cell.Value = cell.Value & Space(intDiff)
If intLenLeft < intLenRight Then cell.Value = Space(intDiff) & cell.Value
End If
Next
End Sub
Vorher Nachher
Achtung: Dieser Code verändert Ihre Excel-Daten, da er zusätzliche Leerzeichen hinzufügt
Antwort2
In Word habe ich etwas Ähnliches mit Tabulatoren erreicht. Ich wollte beispielsweise eine Reihe von Zeilen am Multiplikationszeichen ausrichten. Dazu habe ich einen rechtsbündigen Tabulator bei 2 cm, einen zentrierten Tabulator bei 2,25 cm und einen linksbündigen Tabulator bei 2,5 cm gesetzt. Dann sah der Text in jeder Zeile so aus:
TAB"erster Text"TAB×TAB"zweiter Text"
Beispiel für Word-Text, der an einem Zeichen ausgerichtet ist
Antwort3
Sie könnten in die Spalten B und C Formeln eingeben, die die Werte von Spalte A in die linke und die rechte Seite des Bindestrichs aufteilen. Geben Sie beispielsweise in Ihrem Beispiel left()
„2“ in B1 und right()
„-32“ in C1 ein. Richten Sie dann Spalte B rechtsbündig aus, Spalte C linksbündig und verbergen Sie Spalte A.