Microsoft Excel

Herbers Excel/VBA-Archiv

Bei Auswahl aus Liste wert in anderer Spalte


Betrifft: Bei Auswahl aus Liste wert in anderer Spalte
von: BLangmantl
Geschrieben am: 16.12.2018 22:39:37

hallo,
ich habe folgendes Anliegen.

ich habe eine Tabelle, wo Mitglieder erfasst werden. Dort gibt es eine Spalte, wo ich über eine Auswahlliste den Mitgliedsstatus auswählen lasse. Dort gibt es Aktivmitglieder, Passivmitglieder, Ehrenmitglieder TSG Mitglieder. Daneben ist eine Spalte namens TSG. Dort kann optional ein J gesetzt werden. Ich hätte es gerne so, dass wenn im Mitgliederstats TSG Ausgewählt werden soll, dann soll auch automatisch in TSG Ja ausgewählt sein und zwar so, dass das nicht geändert werden kann, bei allen anderen Mitgliederstatis soll die Auswahl optional möglich sein. Wäre sowas machbar? und wenn ja wie.

Anbei die Tabelle in er Übersicht und als Download

Danke und Gruß

Benedikt

http://www.herber.de/bbs/user/126159.xlsm

Mitgliederliste

 ABCDEFGHIJKLMNOPQRSTUVWX
7Lfd-NrMitgliedsnummerAnredeNameVornameStraßePLZStadtFestnetz 1Festnetz 2TelefaxMobilE-Mail-AdresseEmpfängerkreisGeburtsdatumRunde GeburtstageGeburtstagslisteAlterVereinseintrittVereinsaustritt
oder Todesfall
AustrittsgrundDauer MitgliedschaftMitgliederstatusTSG
81FR-0001HerrMustermannMaxMusterhausen12053Berlin     J31.07.1976  42 J 01.01.2000  18 J TSG MitgliedJ

Formeln der Tabelle
ZelleFormel
A8=WENN(B8="";"";AGGREGAT(3;7;$B$8:B8))
P8=WENN(REST(JAHR(HEUTE())-JAHR($O8); 10)=0;JAHR(HEUTE())-JAHR($O8) & " J - " &$D8;"")
Q8=WENN($O2="";"";DATUM(JAHR(HEUTE()); MONAT($O8); TAG(O8)))
R8=WENN($O8="";"";Alter($O8;$T8;$U8))
V8=WENN($S8="";"";Mitgliedsjahre($S8;$T8;$U8))


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8


  

Betrifft: schade...
von: Frank Furter
Geschrieben am: 16.12.2018 23:25:52

... guckst du..:




  

Betrifft: AW: schade...
von: BLangmantl
Geschrieben am: 16.12.2018 23:33:06

Hallo,
sorry, das ist mir echt peinlich, da habe ihc wohl die falsche Datei hochgeladen, hier die richtige

http://www.herber.de/bbs/user/126161.xlsm

Nochmal sorry


  

Betrifft: AW: da habe ich kein Bock drauf ...
von: Frank Furter
Geschrieben am: 16.12.2018 23:45:53

Ne, ne...:




  

Betrifft: AW: da habe ich kein Bock drauf ...
von: BLangmantl
Geschrieben am: 16.12.2018 23:47:02

Bei mir funktionier es


  

Betrifft: AW: da habe ich kein Bock drauf ...
von: Frank Furter
Geschrieben am: 16.12.2018 23:49:36

Hallo, mag sein. Ich habe mir die "Formel" für's Alter näher angesehen und schwupp... Deswegen bin ich hier raus. Sorry, und noch viel Erfolg


  

Betrifft: AW: da habe ich kein Bock drauf ...
von: BLangmantl
Geschrieben am: 16.12.2018 23:50:45

Das tut mir leid, aber wie gesagt bei mir funktioniert es


  

Betrifft: ... das muss dir nicht leidtun...
von: Frank Furter
Geschrieben am: 16.12.2018 23:52:45

Alles gut. Da findet sich bestimmt jemand...


  

Betrifft: AW: ... das muss dir nicht leidtun...
von: BLangmantl
Geschrieben am: 16.12.2018 23:53:24

ok


  

Betrifft: AW: ... das muss dir nicht leidtun...
von: BLangmantl
Geschrieben am: 16.12.2018 23:57:39

ok


  

Betrifft: AW: da habe ich kein Bock drauf ...
von: Mullit
Geschrieben am: 16.12.2018 23:56:59

Hallo,

yo, und ich weiß auch den Grund...hehe...;-)



Gruß, Mullit


  

Betrifft: verstehe ich nicht ...
von: Frank Furter
Geschrieben am: 16.12.2018 23:59:27

was hat Jeanie damit zu tun..? Aber ich bin eh' kein VBA-Mensch...


  

Betrifft: AW: da habe ich kein Bock drauf ...
von: BLangmantl
Geschrieben am: 16.12.2018 23:59:49

Was heißt das? das die Bibliotheken bei mir nicht vorhanden sind? aber ich arbeite doch damit


  

Betrifft: AW: da habe ich kein Bock drauf ...
von: BLangmantl
Geschrieben am: 17.12.2018 00:04:24

So habe den Hacken da raus genommen, war mir nciht bewusst das das stört, der muss bei der Installation von Excel Jeannie automatisch gesetzt worden sein in die Biblothek

http://www.herber.de/bbs/user/126164.xlsm


  

Betrifft: AW: da habe ich kein Bock drauf ...
von: Frank Furter
Geschrieben am: 17.12.2018 00:13:10

Hallo, wenn ich in R8 auf die "Formel" Alter gehe, passiert's ... der Debugger!!! (Fehler beim Kompilieren - Variable nicht deklariert)

Der Haken nicht der Hacken!!!

Arbeitsblatt mit dem Namen 'Mitgliederliste'
 R
7Alter
842 J

ZelleFormel
R8=WENN($O8="";"";Alter($O8;$T8;$U8))
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg



  

Betrifft: AW: Bei Auswahl aus Liste wert in anderer Spalte
von: Nepumuk
Geschrieben am: 17.12.2018 05:47:00

Hallo Benedikt,

damit der automatische Eintrag von "J" in Spalte X nicht mehr ändern zu können muss die Tabelle geschützt werden. Wählt der Benutzer in Spalte W "TSG Mitglied" auswählt, dann wird in Spalte X automatisch ein "J" eingetragen und die Zelle geschützt. Wählt der Benutzer anschließend in Spalte W einen anderen Wert, dann wird der Schutz wieder aufgehoben.

Die dazu notwendigen Programmänderungen:

Im Modul "DieseArbeitsmappe":

Private Sub Workbook_Open()
    Call Mitgliederliste.Protect(Password:="GEHEIM", UserInterfaceOnly:=True)
    ' Sheets("Parameter").Range("B2") = Environ$("USERNAME")
    ' Call StartFormularAufrufen
End Sub


Im Modul der Tabelle "Mitgliederliste":

Private Sub Worksheet_Change(ByVal Target As Range)
    
    Call FormularTexte
    
    Dim lngZNr As Long
    Dim lngSNr As Long
    Dim objRange As Range, objCell As Range
    
    lngZNr = ActiveCell.Row
    lngSNr = ActiveCell.Column
    
    If lngZNr > 7 Then
        If Target.Column = 15 Or Target.Column = 19 Then
            If Target.Value <> "" Then
                ActiveCell.NumberFormat = "dd.mm.yyyy"
                If Not IsDate(Target.Text) Then
                    MsgBox "Sie haben ein falsches Datum eingegeben!", vbExclamation, strFormularError
                    Application.EnableEvents = False
                    Target.ClearContents
                    Target.Activate
                    Application.EnableEvents = True
                    Exit Sub
                End If
            End If
        End If
    End If
    
    Set objRange = Intersect(Target, Range(Cells(8, 23), Cells(Rows.Count, 23)))
    If Not objRange Is Nothing Then
        Application.EnableEvents = False
        For Each objCell In objRange
            If objCell.Value = "TSG Mitglied" Then
                With objCell.Offset(0, 1)
                    .Value = "J"
                    .Locked = True
                End With
            Else
                objCell.Offset(0, 1).Locked = False
            End If
        Next
        Application.EnableEvents = True
        Set objRange = Nothing
    End If
End Sub

Du musst natürlich noch die Zellen in der Tabelle "Mitgliederliste" entsprechend formatieren. So dürfen die Zellen in den Spalten, in denen der Benutzer Eingaben machen soll, nicht gesperrt sein. Spalte X sperrt / entsperrt das Makro bei Bedarf.

Gruß
Nepumuk
P.S.: Warum rufst du das Makro "FormularTexte" bei jeder Eingabe in der Tabelle "Mitgliederliste" auf und nicht im Workbook_Open-Event? Da ändert sich doch nach dem Öffnen der Mappe nichts mehr.

P.P.S.: Das Kennwort musst du natürlich noch anpassen!!!


  

Betrifft: AW: Bei Auswahl aus Liste wert in anderer Spalte
von: BLangmantl
Geschrieben am: 17.12.2018 11:20:22

Hallo Nepomuk,
danke funktioniert supe, darf ich dich in dem Makro als Helfer namentlich erwähnen ogen im Kommentar?


  

Betrifft: AW: Bei Auswahl aus Liste Wert in anderer Spalte
von: Nepumuk
Geschrieben am: 17.12.2018 12:04:27

Hallo Benedikt,

klar, hab ich nichts dagegen.

Gruß
Nepumuk


  

Betrifft: AW: Bei Auswahl aus Liste Wert in anderer Spalte
von: BLangmantl
Geschrieben am: 17.12.2018 12:05:10

Danke dir