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.

Modul vor Ausführen eines Makros/Formulars starten
#1
Hallo zusammen,

ich arbeite zur Zeit an folgendem Code (siehe unten)
Mithilfe dieses Codes kann ich in einer UserForm Spalten ein- und ausblenden (je nachdem ob die CheckBox den Wert true oder false enthält)
Allerdings ist es zum arbeiten ziemlich umständlich, zweimal den Haken zu setzen, damit die CheckBox "checkt", dass die Spalte ausgeblendet werden soll.


Ich möchte der UserForm gerne aus einem anderen Tabellenblatt mitteilen, dass bspw. CBValAY_Click() nicht eingeblendet werden soll, wenn in eben diesem Tabellenblatt
der Wert 0 steht. Wenn dort eine 1 steht, kann es eingeblendet werden.
Komme ich hier mit CBValAY_BeforeUpdate() weiter? Leider generiere ich nur Fehlermeldungen.


Für andere Lösungsvorschläge wäre ich sehr dankbar  :19:

Beste Grüße,

Thorben
Code:
Private Sub CBValAY_Click()
ValAY = FRM_Categories_dyn.CBValAY
If ValAY = False Then
 For i = 25 To 1000 Step 21

     Columns(i).Hidden = Not FRM_Categories.CBValAY
     
 Next i
 End If
If ValAY = True Then
For i = 25 To 1000 Step 21

     Columns(i).Hidden = False
     Next
     End If
End Sub
Antworten Top
#2
Hallo Thorben

ich verstehe diesen Teil nicht so ganz, das Ergebnis von Not müsste doch True sein?? Oder irre ich mich da.
Dann könnte man den Code vielleicht verkürzen und nur eine For Next Schleife nehmen.
  Columns(i).Hidden = Not FRM_Categories.CBValAY  müsste doch True sein, oder??


mfg  Gast 123


Code:
Private Sub CBValAY_Click()
ValAY = FRM_Categories_dyn.CBValAY
For i = 25 To 1000 Step 21

  If ValAY = True Then Columns(i).Hidden = False
  If ValAY = False Then Columns(i).Hidden = True
   
Next i
End Sub
[-] Folgende(r) 1 Nutzer sagt Danke an Gast 123 für diesen Beitrag:
  • mort92
Antworten Top
#3
Hallo,

das müsste reichen:


Code:
Private Sub CBValAY_Click()
For i = 25 To 1000 Step 21
    Columns(i).Hidden = Not FRM_Categories.CBValAY
Next i
End Sub
Gruß Atilla
[-] Folgende(r) 1 Nutzer sagt Danke an atilla für diesen Beitrag:
  • mort92
Antworten Top
#4
Hey Atilla,

du hast Recht, das verkleinert den Code nochmal erheblich.
Allerdings besteht weiterhin das Problem, dass ich zweimal den Haken setzen muss,
um Spalten auszublenden.

Besten Dank und Grüße,

Thorben
Antworten Top
#5
Hey zusammen,

ich habe folgendes ausprobiert:
Code:
Private Sub UserForm_Activate()

Sheets("Drop").Select
Range("AO16").Select
If activeselect = 0 Then
Sheets("Countries").Select
For i = 10 To 1000 Step 21
       Columns(i).Hidden = Not FRM_Categories_dyn.CBValAY
  Next i
End If

D.h. sobald die UserForm aktiviert wird, wird werden die Spalten ausgeblendet, die in der Lasche den Wert "0" enthalten.
Allerdings bekomme ich es nicht hin ihm zu sagen, dass wenn 
Code:
Sheets("Drop").Select
Range("AO16").Select
If ActiveSelect = 1 Then Sheets ("Countries").Select
For i = 10 To 1000 Step 21
      Columns(i).Hidden = False
 Next i

Was mache ich falsch?

LG
Antworten Top
#6
Hallo,

leider sind Deine Ausführungen nicht verständlich.
Es ist nicht klar, wo die Chekbox sich befindet, in einer Tabelle?, in welcher?, auf einer Userform?

Welche Spalten sollen ausgeblendet werden? in einer bestimmten Tabelle?

Am besten wäre es, Du stellst eine Beispieldatei ein.
Gruß Atilla
[-] Folgende(r) 1 Nutzer sagt Danke an atilla für diesen Beitrag:
  • mort92
Antworten Top
#7
Hey Atilla,

danke für deine Zeit, ich war wirklich unverständlich.
Allerdings habe ich es jetzt sogar hinbekommen.

LG,

Thorben
Antworten Top


Gehe zu:


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