|  
                                             
	Hallo Suppik, 
	prinzipiell sollte das unabhängig vom eingesetzten Officeprodukt so funktionieren: 
Option Explicit
Sub test()
    Debug.Print TransposeChord("A", 3)
End Sub
Private Function TransposeChord(InputChord As String, HalfStep As Long) As String
    Static chords As Collection
    Dim i As Long
    Dim chordArr As Variant
    Dim isMinor As Boolean
    If LCase(InputChord) = InputChord Then isMinor = True
    chordArr = Split("C,C#,D,D#,E,F,F#,G,G#,A,A#,H", ",")
    If chords Is Nothing Then
        Set chords = New Collection
        For i = LBound(chordArr) To UBound(chordArr)
            chords.Add i, UCase(chordArr(i))
        Next i
    End If
    TransposeChord = chordArr((chords.Item(UCase(InputChord)) + HalfStep) Mod 12)
    If isMinor Then TransposeChord = LCase(TransposeChord)
End Function
	Die beschriebene Vorgehensweise transponiert eine Akkordeingabe um die angegebene Anzahl an halbtonschritten. Moll-Akkorde werden dabei anhand der Kleinschreibung erkannt. Beachte, dass keine verminderten, vermehrten oder septimenakkorde umgesetzt werden. 
	Zusätzlich müsstest du dir natürlich noch eine Logik überlegen, wie du Akkorde im Worddokument erkennst und von den normalen Textzeilen trennst. 
	Viele Grüße 
	derHöpp 
     |