Datenübernahme aus anderem Feld, Validierung und Update

Hi, ich habe in einer Tabelle Mitgliedsnummer, Name im Forum und Stammdaten (Name, Vorname usw.)

In der Tabelle soll eine Beziehung zwischen Mitglied und “eingeladen von” (Spalte M) hergestellt werden, aber zu dem Feld “Name im Forum” (Spalte B) - was ein veränderliches Feld ist.

Diese Lösung ist Nah dran

Was mir daran noch nicht perfekt gefällt:

  • Update des Feldes Name im Forum wird nicht im Feld “Eingeladen von” widergespiegelt
    • wenn ich im Feld Beziehungen (zb = B2) Eingebe schlägt die Validierung Fehl
    • die Auswahl via Formelbeziehung is nicht so schön

Was ich also benötige ist ein Update der Feldwerte in eingeladen von bei Änderung der Werte in “Name im forum” oder ein anderes Suche/Auswahlfenster bei der Funktion Gültigkeit, und zwar in der Art:

  • Auswahl des Namens, Rückgabe der Mitgliedsnummer (unveränderlich)
  • somit kann ich dann in der Spalte daneben einfach den Namen zur Mitgliedsnummer als Beziehung (SVEWEIS) eintragen.

Ich hoffe ich habe mein Problem ausreichend gut Beschrieben und das Ihr ein Tipp für mich habt.
Base kommt für meine Anwendung leider nicht in Frage, auch wenn das für einige Dinge besser geeignet wäre.

Ich Danke euch.

Habe ein Makro geschrieben welches auf dem Ereignis Tabellenblatt geändert hängt

Sub ReplaceDropdownSelection()
    Dim SpaltePateMitgliedsnummer As Integer
    Dim oSheet As Object
    Dim oController As Object
    Dim oCell As Object
    Dim oCellRange As Object
    Dim sSelectedValue As String
    Dim iRow As Integer
    Dim i As Integer

    SpaltePateMitgliedsnummer = 29

    oSheet = ThisComponent.Sheets.getByName("Stammdaten") ' Referenz auf das StammdatenArbeitsblatt
    ' Zugriff auf die aktuelle Auswahl
    oController = ThisComponent.CurrentController
    oCell = oController.getSelection()

    ' Überprüfen, ob die Auswahl genau eine Zelle ist
    If oCell.supportsService("com.sun.star.table.CellRange") And oCell.RangeAddress.EndColumn = oCell.RangeAddress.StartColumn And oCell.RangeAddress.EndRow = oCell.RangeAddress.StartRow Then
        sSelectedValue = oCell.String
        If oCell.RangeAddress.StartColumn = SpaltePateMitgliedsnummer And  sSelectedValue <> "-" AND sSelectedValue <> "" Then
            iRow = oCell.RangeAddress.StartRow + 1

            ' Definieren des Bereichs für die Spalte B
            oCellRange = oSheet.getCellRangeByName("B1:B1048576")

            ' Durchsuchen der Spalte B nach dem ausgewählten Wert
            For i = 0 To oCellRange.Rows.Count - 1
                If oSheet.getCellByPosition(1, i).String = sSelectedValue Then
                    ' Ersetzen des Werts in der ausgewählten Spalte durch den entsprechenden Wert aus Spalte A
                    oSheet.getCellByPosition(SpaltePateMitgliedsnummer, iRow-1).Value = oSheet.getCellByPosition(0, i).Value
                    Exit For
                End If
            Next
        End If
    End If
End Sub

Was stellen die Leute nicht alles an, nur um die Einrichtung einer Datenbank zu vermeiden.