Clever-Excel-Forum

Normale Version: Nummer zu Namen automatisch eintragen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

gibt es in Word auch einen SVerweis wie in Excel?

Meine Vorstellung ist, dass ich in einer Liste (Formularsteuerelement) einen Namen auswähle und es sollte automatisch eine Nummer in die untere Zeile geschrieben werden, die zu dem Namen gehört.

oder gibt es dazu eine VBA Lösung?

Irgendwie stehe ich auf der Leitung Huh

Bitte um Hilfe!

Liebe Grüße Heinz
Hallo,

einen SVerweis gibt es nur in Excel, aber in Word gibt es ContentControl, mit denen man etwas ähnlich "basteln" kann --- wenn man kann - ich kann es nur teilweise.

mfg
hallo fennek,

danke für deine Antwort, leider funktioniert es nicht richtig. Vielleicht hat ja noch wer anders eine Idee oder sogar die Lösung.
Hallo,

bei so einer motivierenden Antwort hole ich doch gerne die Vorlage eines Gurus (wie gezeigt, hatte ich mit der Anpassung so meine Probleme)

Code:
'Document Code

Option Explicit
Dim tabelle As Table
Dim zeileNr As Long

Private Sub Document_ContentControlOnEnter(ByVal CC As ContentControl)
'dieses Makro dient dazu, festzuhalten, in welcher zeileNr welcher Tabelle die ASN ausgewählt wurde

'nur in Aktion treten, wenn das angeklickte Control den Tag "ASN" hat
If CC.Tag = "ASN" Then
    Set tabelle = Selection.Tables(1)
    zeileNr = Selection.Information(wdEndOfRangeRowNumber)
    
End If
End Sub

Private Sub Document_ContentControlOnExit(ByVal CC As ContentControl, Cancel As Boolean)
'dieses Makro dient dazu, die zur ASN gehörige Abfallart in die Tabelle zu schreiben
Dim AbfNr As String, abfArt As String
Dim EntryNr As Integer, i As Integer

'nur in Aktion treten,wenn das verlassene Control den Tag "ASN" hat
If CC.Tag <> "ASN" Then Exit Sub

'nichts machen, so lang noch keine Auswahl getroffen wurde
If CC.ShowingPlaceholderText Then Exit Sub

'jetzt endlich: Anzeige und Wert der Combobox auslesen:
AbfNr = CC.Range.Text

    For i = 1 To CC.DropdownListEntries.Count
        If CC.DropdownListEntries(i).Text = AbfNr Then
            abfArt = CC.DropdownListEntries(i).Value
        End If
    Next i
    
'gefundene Abfallart ins Textfeld links neben dem Dropdown eintragen:
tabelle.Cell(zeileNr, 1).Range.ContentControls(1).Range.Text = abfArt

End Sub

########### Allgemeines Modul ##########

Sub T_1()
Dim CC As ContentControl
With ActiveDocument
    'wird an Selection eingefügt
    Set CC = .ContentControls.Add(wdContentControlDropdownList)
    CC.Tag = "ASN"
    CC.DropdownListEntries.Add "Cat", "A"
    CC.DropdownListEntries.Add "Dogs", "B"
    CC.DropdownListEntries.Add "Bird", "C"
    
    For Each CC In .ContentControls
        Debug.Print CC.Tag, CC.ShowingPlaceholderText, CC.Range.Text
    Next CC

End With
End Sub

Für mich verständlich wurde das nur in der Musterdatei.

Viel Spaß bei Anpassen auf dein Problem,

mfg