MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Excel
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 15.04.2019, 06:43   #1
Viking1984
Neuer Benutzer
Neuer Benutzer
Standard VBA - Ein / Ausblenden von Formularsteuerelementen

Hallo,

ich habe eine Dokument erstellt in dem ich auf der ersten Seite ActiveX-Steuerelemente eingebaut habe um nachfolgende Zeilen auszublenden.
Der Code im VBA ist wie folgt.

Private Sub CheckBox1_Click()

Select Case CheckBox1.Value
Case False
Rows("90:181").Hidden = True
Case True
Rows("90:181").Hidden = False
End Select

End Sub

Die Zeilenanzahl, die ausgeblendet wird, entspricht einer Seite.
Davon gibt es mehrere, die bei Bedarf über die Kontrollkästchen ein oder ausgeblendet werden sollen.

Auf den folgenden Seiten befinden sich wiederum auch Kontrollkästchen, die auch mit ausgeblendet werden sollen.
Zur Info: Ich habe da momentan Formularsteuerelemente eingefügt. Ich glaube die sind allerdings nicht richtig. Es müssten nach meinen Erkenntnissen auch ActiveX Elemente sein. Ich bin allerdings da noch nicht weitergekommen.

Die Kästchen werden allerdings nicht ausgeblendet sondern bleiben auf Ihrer Position.
Wenn ich "Seite 2" ausblende, rücken folgende Zeilen auf und die "Seite 3" wird zur "Seite 2". Die Kästchen von der ursprünglichen Seite 2 und 3 bleiben auf Ihren ursprünglichen Positionen und liegen nachdem Seite 2 ausgeblendet wurde nun auf den Seiten 3 und Seite 4, da diese hochgerutscht sind.

Daher habe ich folgende Fragen:

Welche Steuerelemente müsste ich verwenden?

Wie muss Ich es im VBA eingeben das ein Kontrollkästchen in Abhängigkeit von einem anderen Kontrollkästchen eingeblendet wird oder auch nicht?

Wie stelle ich sicher das die Kontrollkästchen an der richtigen Stelle im Dokument verbleiben.

Ich habe kein Dokument angefügt, da das original sensible Daten enthält. Ich hatte leider nicht die Zeit einen Dummy zu erstellen.

Ich bin leider ein blutiger VBA Anfänge rund bitte das bei der Beantwortung zu berücksichtigen.

Ich danke euch schon einmal für eure Hilfe.

Geändert von Viking1984 (15.04.2019 um 06:51 Uhr).
Viking1984 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.04.2019, 07:15   #2
Mase
MOF User
MOF User
Standard

Guten Morgen Viking,

soll dein Ergebnis aussehen wie nach einer Gruppierung in Excel?
Daten->Gliederung->Gruppierung


gruß
Marco
Mase ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.04.2019, 07:34   #3
Viking1984
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hallo Marco, danke für deine Antwort. Deine Frage habe ich nicht so ganz Verstanden.

Ich habe mal einen Dummy erstellt. Vielleicht hilft das.

Die Checkboxen 1 & 2 sind da um die entsprechenden Seiten auszublenden.
Die Checkboxen 3 & 4 sind dazu dazu da um dokumentieren, ob bestimmte Vorgänge stattgefunden haben.
Angehängte Dateien
Dateityp: xlsm DUMMY.xlsm (27,6 KB, 6x aufgerufen)

Geändert von Viking1984 (15.04.2019 um 07:38 Uhr).
Viking1984 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.04.2019, 07:59   #4
Mase
MOF User
MOF User
Standard

Hi Viking,

die Eigenschaft die du suchst ist checkbox.Visible:

Code:

'Ausblenden
CheckBox3.Visible = False

'Einblenden
CheckBox3.Visible = True


gruß
Marco
Mase ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.04.2019, 08:08   #5
Viking1984
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Entschuldige, falls die Frage blöd ist. Wie muss dann der VBA text aussehen und wie findet da die Abhängigkeit zu den anderen Kontrollkästchen statt?
Viking1984 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.04.2019, 08:20   #6
Mase
MOF User
MOF User
Standard

Code:

Private Sub CheckBox1_Click()

Select Case CheckBox1.Value
    Case False
        Rows("51:100").Hidden = True
        'Checkbox3 ausblenden
        CheckBox3.Visible = False
    Case True
        Rows("51:100").Hidden = False
        'Checkbox3 einblenden
        CheckBox3.Visible = True
End Select

End Sub

Wichtig:
Den Startwert der Eigenschaft kannst du beim Start schon definieren. (siehe Bild)

Entwurfsmodus -> Rechtsklick Checkbox -> Eigenschaften -> Visible = True (Standard) oder False setzen.


gruß
Marco
Angehängte Grafiken
Dateityp: png 150419 Startwerte.PNG (34,1 KB, 2x aufgerufen)
Angehängte Dateien
Dateityp: xlsm DUMMY (1).xlsm (25,9 KB, 1x aufgerufen)
Mase ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.04.2019, 08:21   #7
Viking1984
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Habe es glaube ich hinbekommen.

Jetzt werden die Kästchen ausgeblendet. Wenn ich nun die Seite 2 ausblende. Ist leider bloß das Kontrollkäschen 4 auf der dritten Seite bloß der Text von der dritten Seite rutsch durch das ausblenden der zweiten hoch. Und das Kästchen ist auf der falschen Position

Hättest du da auch eine Idee?
Angehängte Dateien
Dateityp: xlsm DUMMY.xlsm (27,7 KB, 1x aufgerufen)

Geändert von Viking1984 (15.04.2019 um 08:49 Uhr).
Viking1984 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.04.2019, 10:13   #8
Mase
MOF User
MOF User
Standard Positionieren der Checkbox

Beispiel an Checkbox1:
'Checkbox1 an Zelle E47
ActiveSheet.Shapes("Checkbox1").Top = Range("E47").Top
ActiveSheet.Shapes("Checkbox1").Left = Range("E47").Left


gruß
Marco
Mase ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.04.2019, 10:28   #9
Viking1984
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Danke für die Antwort, wie müsste das dann im VBA aussehen?

Klappt bei mir noch nicht so ganz.


Private Sub CheckBox1_Click()

Select Case CheckBox1.Value
Case False
Rows("51:100").Hidden = True
CheckBox3.Visible = False
Case True
Rows("51:100").Hidden = False
CheckBox3.Visible = True
ActiveSheet.Shapes("Checkbox3").Top = Range("C54").Top
ActiveSheet.Shapes("Checkbox3").Left = Range("C54").Left

End Select

End Sub

Private Sub CheckBox2_Click()

Select Case CheckBox2.Value
Case False
Rows("101:150").Hidden = True
CheckBox4.Visible = False
Case True
Rows("101:150").Hidden = False
CheckBox4.Visible = True
CheckBox4.Top = Range("C103").Top
CheckBox4.Left = Range("C103").Left

End Select

End Sub
Viking1984 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.04.2019, 12:03   #10
Mase
MOF User
MOF User
Standard

Hi,

denk an die Startwerte je Checkbox wie oben beschrieben.


gruß
Marco
Angehängte Dateien
Dateityp: xlsm DUMMY (1).xlsm (28,7 KB, 2x aufgerufen)
Mase ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.04.2019, 12:28   #11
Jadzia_Dax
MOF User
MOF User
Standard

Hallo,

meinst Du es so ? (Position Steuerelement abhängig von Zellposition)

LG Dax
Angehängte Dateien
Dateityp: xlsm DUMMY.xlsm (27,0 KB, 2x aufgerufen)
Jadzia_Dax ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:56 Uhr.



Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.