Thema Datum  Von Nutzer Rating
Antwort
Rot Hide/Unhide Spalten per VBA
17.11.2015 16:25:52 Azubi
Solved
23.11.2015 10:54:12 Azubi
Solved

Ansicht des Beitrags:
Von:
Azubi
Datum:
17.11.2015 16:25:52
Views:
1121
Rating: Antwort:
 Nein
Thema:
Hide/Unhide Spalten per VBA

Hallo Leute!

Ich habe folgendes Problem: Für eine variable Anzahl an Tabellenblättern rechts des Tabellenblattes mit dem Namen 'Quicklinks' versuche ich entweder die Spalten T:U, die Spalten W:V oder die Spalten X:Y einzublenden. Es wird immer nur exakt ein Paar von den dreien gebraucht. Dahinter soll der Druckbereich enden. Zur Zeit nutze ich für das Unterfangen drei Checkboxes mit folgendem Code (wobei die Spalten dementsprechend angepasst werden):

 

Private Sub CheckBox10_Click()
Dim wS As Worksheet

    If CheckBox1.Value = True Then      'Wenn Box geklickt
        For Each wS In Sheets
            If wS.Index > Sheets("Quicklinks").Index Then 'Wenn rechts von Quicklinks
                wS.Columns("T:U").Hidden = False    'dann Spalte B zeigen in Array
            End If
        Next
    Else 'Wenn Box nicht geklickt
        For Each wS In Sheets
            If wS.Index > Sheets("Quicklinks").Index Then 'wenn rechts von Quicklinks
                wS.Columns("T:U").Hidden = True 'dann Spalte B nicht zeigen
            End If
        Next
    End If
End Sub

Dieser Code funktioniert äquivalent einwandfrei für 9 einzelne Spalten, die links von den besagten drei stehen. Nur bei den drei Spaltenpäärchen spinnt er. Aus mir unerklärlichen Gründen werden die Spalten nämlich nur angezeigt, wenn ich folgender Kombination von Checks und Uncheks nachgehe:

Für Spalten T:U:

  • Checke alle drei Boxes, falls noch nicht gecheckt
  • Uncheck Spalten T:U
  • Uncheck Spalten W:V
  • Uncheck Spalten X:Y
  • Check Spalten T:U

Für Spalten W:V:

  • Wiederhole die Prozedur für Spalten T:U und zusätzlich
  • Check W:V
  • Uncheck T:U

Und zu guter letzt für X:Y:

  • Wiederhole die Prozedur für Spalten T:U und zusätzlich
  • Check W:V
  • Check X:Y
  • Uncheck T:U
  • Uncheck W:V

 

Ein Muster ist demnach ersichtlich. Den Grund warum es aber nicht durch einmaliges Klicken funktioniert, verstehe ich nicht, da die Codes der einzelenen Checkboxes eigentlich nichts miteinader zu tun haben. An dem variablen Teil für die beliebige Anzahl Blätter liegt es m.E.n. nicht. Das funktioniert einwandfrei.

 

Wäre über jede Hilfe ausgesprochen dankbar!

 

Gruß

 

PS Ich weiß, dass der Weg mit den 3 Checkboxen nicht der eleganteste Weg ist, da ich aber Anfänger bin, würde es mir für den Anfang reichen. Lasse mir mich aber auch gerne auf eine elegantere Version ein solange die Implementieerung nicht zu lange dauert.


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Hide/Unhide Spalten per VBA
17.11.2015 16:25:52 Azubi
Solved
23.11.2015 10:54:12 Azubi
Solved