Microsoft Excel

Herbers Excel/VBA-Archiv

Spalten ausblenden mit zwei Bedingungen

Betrifft: Spalten ausblenden mit zwei Bedingungen von: Toumas
Geschrieben am: 06.08.2014 08:52:43

Hallo zusammen,

ich benötige mal wieder eure Hilfe, die Suchfunktion hier hat mir zwar schon viele Möglichkeiten angezeigt, aber irgendwie kann ich die entweder nicht umsetzen, oder ich mach was falsch dabei.

Folgendes Problem :

Ich habe vier Spalten (als Beispiel C - F ) hier steht in C2-F2 der jeweilige Teamname (Team 1, Team 2, Team 3, Team 4). Darunter in C3 - F3 steht das Tagesdatum (mittels Heute() ).
Nun habe ich noch eine Extraliste (in der Beispieldatei von J2 - K26)
Hier steht das fortlaufende Datum und bei jedem Tag der jeweilige Teamname.

Nun möchte ich, dass ein Makro (da dies jeden Tag automatisch erfolgen soll)
das Datum und den Teamnamen mit der Liste vergleicht und jedes Team, bzw. die Spalte ausblendet welches nicht die Bedingungen erfüllt.

Beispieldatei :
https://www.herber.de/bbs/user/91924.xlsx

Ich bedanke mich schon mal im Voraus für eure Hilfe

Viele Grüße

Toumas

  

Betrifft: AW: Spalten ausblenden mit zwei Bedingungen von: Robert
Geschrieben am: 06.08.2014 09:31:33

Hallo Touman,

Ich habs mal von der Syntax sehr einfach gehalten, so dass du es bei Bedarf anpassen kannst.
Da du per Makro das heutige Datum abgreifen kannst, wird die Zeile mit dem Heutigen Datum eigentlich nicht benötigt.

Option Explicit

Sub Test()
Dim i As Integer
With Tabelle1
For i = 3 To .UsedRange.SpecialCells(xlCellTypeLastCell).Row
    If .Cells(i, 10) = Date Then
        If .Cells(i, 11) = "Team 1" Then
            .Range("c1").EntireColumn.Hidden = False
            .Range("d1").EntireColumn.Hidden = True
            .Range("e1").EntireColumn.Hidden = True
            .Range("f1").EntireColumn.Hidden = True
        End If
        If .Cells(i, 11) = "Team 2" Then
            .Range("c1").EntireColumn.Hidden = False
            .Range("d1").EntireColumn.Hidden = True
            .Range("e1").EntireColumn.Hidden = False
            .Range("f1").EntireColumn.Hidden = False
        End If
        If .Cells(i, 11) = "Team 3" Then
            .Range("c1").EntireColumn.Hidden = False
            .Range("d1").EntireColumn.Hidden = False
            .Range("e1").EntireColumn.Hidden = True
            .Range("f1").EntireColumn.Hidden = False
        End If
        If .Cells(i, 11) = "Team 4" Then
            .Range("c1").EntireColumn.Hidden = False
            .Range("d1").EntireColumn.Hidden = False
            .Range("e1").EntireColumn.Hidden = False
            .Range("f1").EntireColumn.Hidden = True
        End If
    Exit For
    End If
Next i
End With
End Sub
viele Grüße
Robert


  

Betrifft: AW: Spalten ausblenden mit zwei Bedingungen von: Robert
Geschrieben am: 06.08.2014 09:36:49

Hallou Touman,

Flüchtigkeitsfehler bei den Hidden = True / False.
Denke aber das ist Offensichtlich, du willst ja alle ausblenden, außer das aktuelle Team, d.h. nur einmal False und dreimal True.

Viele Grüße
Robert


  

Betrifft: AW: Spalten ausblenden mit zwei Bedingungen von: Toumas
Geschrieben am: 06.08.2014 09:46:48

*g* ok...meine Nachfrage hat sich erübrigt


  

Betrifft: AW: Spalten ausblenden mit zwei Bedingungen von: Toumas
Geschrieben am: 06.08.2014 09:45:17

Hallo Robert,

danke erstmals für deine schnelle Antwort, habe es gerade getestet...

Nun haben ich folgendes Problemchen :

Wenn ich nun in der Liste (Spalte K) den Teamnamen ändere (Beispiel anstelle Team 1 beim 06.08.2014 schreibe ich Team 2 rein), blendet mir das Makro auf ein mal Team 2 aus und nicht Team 1 / Team 3 und Team 4........

was mache ich da falsch ?

Viele Grüße

Toumas


  

Betrifft: AW: Spalten ausblenden mit zwei Bedingungen von: Toumas
Geschrieben am: 06.08.2014 09:49:07

Hallo Robert.....

Einfach genial....


Danke dir vielmals....


 

Beiträge aus den Excel-Beispielen zum Thema "Spalten ausblenden mit zwei Bedingungen"