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.
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
Folgende(r) 1 Nutzer sagt Danke an Fennek für diesen Beitrag:1 Nutzer sagt Danke an Fennek für diesen Beitrag 28 • HeinzBRAms
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
Folgende(r) 1 Nutzer sagt Danke an Fennek für diesen Beitrag:1 Nutzer sagt Danke an Fennek für diesen Beitrag 28 • HeinzBRAms