Würde mich freuen von Euch zu hören.
Ach ja, beim aktualisieren der Verknüpfung muss word die Formatierung natürlich übernehmen. Außerdem wäre es hilfreich, wenn der Drucker auch mitspielt.
Sub Makro1()
Dim cell As Range
Dim x As String
ActiveSheet.UsedRange.Select
For Each cell In Selection
x = Left(cell.Value, 2)
If x = "cm" Then
With cell.Characters(Start:=3, Length:=1).Font
.Superscript = True
End With
End If
Next cell
End Sub
Gruß Ralf
Sub Makro1()
Dim cell As Range
Dim x As String
For Each cell In Selection
x = Left(cell.Value, 2)
If x = "cm" Then
With cell.Characters(Start:=3, Length:=1).Font
.Superscript = True
End With
End If
Next cell
End Sub
Gruß Ralf
Option Explicit
Sub cmEinheitI()
ActiveCell.FormulaR1C1 = "cm4"
ActiveCell.Characters(Start:=3, Length:=1).Font.Superscript = True
End Sub
Sub AllmEinheitI()
Dim rng As Range
For Each rng In ActiveSheet.UsedRange
With rng
If Rigth(.Value2,2)="m4" Then _
.Characters(Start:=Len(.Value2), Length:=1).Font.Superscript = True
End With
Next
End Sub
Für Zusammengesetze Dimensionesgrößen, z.B cm2m2 können diese Ansätze erweitert werden.
Gruß,
Uwe
Option Explicit
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim rng As Range
For Each rng In Target
With rng
If InStr(.Value2, "m4") Or _
InStr(.Value2, "m3") Or _
InStr(.Value2, "m2") Then _
.Characters(Start:=Len(.Value2), Length:=1).Font.Superscript = True
End With
Next rng
End Sub
einzubauen.
Vorgehensweise:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim p1 As Long
Dim txt As String
If Target.Cells.Count > 1 Then Exit Sub
If Target.HasFormula Then Exit Sub
txt = Target.Text
p1 = 0
Do
p1 = InStr(p1 + 1, txt, "cm4")
If p1 = 0 Then Exit Do
p1 = p1 + 2
With Target.Characters(Start:=p1, Length:=1).Font
.Superscript = True
End With
Loop
End Sub