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?
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 ?
31.03.2022, 16:10 (Dieser Beitrag wurde zuletzt bearbeitet: 31.03.2022, 16:11 von redddragon87.)
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 :>
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.
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