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