title image


Smiley Re: tiefgestellt per VBA
Hallo Artur,

vielleicht ist diese Sub aus meinem künftigen Angebot angenehmer als die anderen Vorschläge:

Rem Alternative (Rufprozedur) zu ChemForm

Sub CF()

Call ChemForm

End Sub



Rem Prozedur zum Tiefsetzen von relevanten Ziffern - auch nach ) - u. [Mark]

' bzw Hochsetzen von Ziffern nach ' und {Mark} in chem Formeln - '{[]} wdn entfernt

' Autor: Luc\CyWorX - CDate: 20060626 - LUpdate: 20060706n

Sub ChemForm()

Dim i As Integer, s As String, t As String, x As Range, _

o As Boolean, p As Boolean, q As Boolean, r As Boolean

On Error GoTo fx

For Each x In ActiveWindow.RangeSelection

i = 0: p = False: q = False

While i <= Len(x)

i = i + 1

t = Mid(x.Value, i, 1): r = IsNumeric(t)

o = r And (o Or (Right(s, 1) = "'"))

p = (p Or (Right(s, 1) = "{")) And Not (t = "}")

q = (q Or (Right(s, 1) = "[")) And Not (t = "]")

With x.Characters(Start:=i, Length:=1)

.Font.Superscript = False

.Font.Subscript = False

If p Or q Or o Or (i > 1 And r And Not IsNumeric(s) And s "") Then

If o Or p Then

.Font.Superscript = True

Else: .Font.Subscript = True

End If

.Font.Bold = False

s = s & t

ElseIf InStr(" +-(=&|", t) > 0 Then

s = ""

ElseIf InStr("'{[]}", t) > 0 Then

.Delete: i = i - 1: s = s & t

Else: s = s & t

End If

End With

Wend

Next x

GoTo ex

fx: Rem FBehandl

msgbox Err.Description, vbCritical + vbOKOnly, "Fehler " & Err.Number

ex: Set x = Nothing

End Sub

Wenn du nur Subprozeduren im AddIn (...xla) hast, kannst du NoNets Vorschlag folgen. Ansonsten verweise ich auf meine Beiträge in verschiedenen Foren zu diesem Thema, z.B. diesen.

Gruß Lucius

:-?

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: