Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Zeilen in Abhängigkeit eines anderen Feldes ausblenden/einblenden
#1
Hallo zusammen,

ich konzipiere derzeit ein Tool zur Berechnung von gewerblichen Gebäudeversicherung im Rahmen einer Mischkalkulation. Hierzu habe ich eine Excel erstellt, in der die prämienrelevanten Faktoren sowie die Anzahl der Betriebe im Gebäude eingegeben werden muss. Jetzt hätte ich gerne, um das ganze noch Anwenderfreundlicher zu gestalten, dass bei der Eingabe in das Feld Anzahl der Betriebsarten (in meinem Fall B20), weiter unten 3 neue Zeilen erscheinen, in denen man dann zusätzlich die Informationen zum weiteren Betrieb eingeben kann. Ich habe leider nichts im Internet finden können, dass mir hier unkompliziert und schnell auf die Sprünge helfen kann. Meines Erachtens müsste das aber mit Excel doch möglich sein oder? Kann mir hier jemand helfen? 

Also je nach Eingabe sollen bis zu 8 mal die eben beschriebenen Zeilen erscheinen. Ist das möglich oder können die Zeilen nur dauerhaft eingeblendet sein und werden dann halt eben nicht durch den Nutzer befüllt?

Danke vorab :)
Antworten Top
#2
zur Veranschaulichung noch 1 Screenshot anbei:

Der Wert in Zelle B:20 soll hier ausschlaggebend für die nachfolgendenden Felder sein (diese sollen bis zu 8 mal vorkommen). In Feld B:20 können nur ganze Zahlen zwischen 2 und 8 eingegeben werden. Die Zeilen 26-52 sollen ausgeblendet werden und je nach Eingabe der Anzahl weiterer Betriebe (Zelle B:20) sollen diese dann entsprechend wieder auftauchen. Bekommt man sowas hin ?


Angehängte Dateien Thumbnail(s)
   
Antworten Top
#3
Hallo,

mit VBA ist so etwas möglich, - kommt das für Dich in Frage?

Grüße

Norbert
Antworten Top
#4
Hi Norbert,

danke für die Antwort ! ja prinzipiell schon nur bräuchte ich da hilfe beim erstellen des makros, da ich so etwas noch nie selbst erstellt hab. Habe zwar in Verbindung mit anderen Geschichten schon damit gearbeitet aber fürs erstellen fehlt mir dann doch der it hintergrund :>
Antworten Top
#5
Hallo, 

dann solltest Du eine anonymisierte Musterdatei mit Wunschergebniss hier ins Forum einstellen, denn es wird kaum jemand Deine Datei nachbauen, wenn Du schon keine Vorarbeit leisten kannst. 

Grüße
Norbert
Antworten Top
#6
C20: 2 (oder 3 oder 4 oder ...)
B22: =INDEX({"Risiko";"RKZ";"Prozentual";""};REST(SEQUENZ(C20*4)-1;4)+1)
Antworten Top
#7
Hallo,

so kann man es z. B. auch machen (Code in das Codeblatt des Worksheets kopieren, evt. Blattnamen noch anpassen):

PHP-Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim EingabeZelle As Range
    Dim A 
As Integer
    Dim E 
As Integer
    Dim F 
As Integer
    
'Zeilen aus- und einblenden nach Bedingungen von bis
    Set EingabeZelle = Range("B20")
    A = 21
    E = 52
    Tabelle1.Rows("21:52").EntireRow.Hidden = True
    If Application.Intersect(EingabeZelle, Range(Target.Address)) >= 2 And _
    Application.Intersect(EingabeZelle, Range(Target.Address)) <= 8 Then
        
        If EingabeZelle = 1 Then
        F = 20 + 4
        Tabelle1.Rows(A & ":" & F).EntireRow.Hidden = False
        ElseIf EingabeZelle = 2 Then
        F = 20 + 8
        Tabelle1.Rows(A & ":" & F).EntireRow.Hidden = False
        ElseIf EingabeZelle = 3 Then
        F = 20 + 12
        Tabelle1.Rows(A & ":" & F).EntireRow.Hidden = False
        ElseIf EingabeZelle = 4 Then
        F = 20 + 16
        Tabelle1.Rows(A & ":" & F).EntireRow.Hidden = False
        ElseIf EingabeZelle = 5 Then
        F = 20 + 20
        Tabelle1.Rows(A & ":" & F).EntireRow.Hidden = False
        ElseIf EingabeZelle = 6 Then
        F = 20 + 24
        Tabelle1.Rows(A & ":" & F).EntireRow.Hidden = False
        ElseIf EingabeZelle = 7 Then
        F = 20 + 28
        Tabelle1.Rows(A & ":" & F).EntireRow.Hidden = False
        ElseIf EingabeZelle = 8 Then
        F = 20 + 32
        Tabelle1.Rows(A & ":" & F).EntireRow.Hidden = False
        End If
        End If

    If Application.Intersect(EingabeZelle, Range(Target.Address)) < 2 Or _
    Application.Intersect(EingabeZelle, Range(Target.Address)) > 8 Then
    MsgBox "Bitte geben Sie eine Zahl zwischen 1 und 8 ein!", vbOKOnly
    End If
End Sub 
Grüße

Norbert
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste