Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
Spalten anhand aktuellem Monat ausblenden |
22.12.2016 16:05:34 |
Lisa |
|
|
|
22.12.2016 16:06:19 |
Gast223 |
|
|
|
22.12.2016 16:17:31 |
Gast25937 |
|
|
Von:
Lisa |
Datum:
22.12.2016 16:05:34 |
Views:
1032 |
Rating:
|
Antwort:
|
Thema:
Spalten anhand aktuellem Monat ausblenden |
Hallo zusammen,
ich versuche mich gerade für eine Tabelle an VBA und für mein erstes Mal, hab ich schon einiges durch diverse Foren hinbekommen.
Leider fehlt mir das Hintergrundwissen um manche "Formeln" zu verstehen und dann zu ändern.
Was ich will: Eine Tabelle mit mehreren Spalten (Jan-Dez Vorjahr Spalte F-Q (Datum in Zeile 13, Bereich "Vorjahr") , Jan-Dez aktuelles Jahr Spalte S-AD (Datum in Zeile 13, Bereich "Monate"), Plan aktuelles Jahr(Spalte AJ-AP) und dazugehörige Abweichungen) unterschiedlich darstellen:
1. Ist-Vorjahresvergleich bis zum aktuellen Monat, d.h. im April 2017 will ich Jan-Apr 2016 und Jan-Apr 2017 darstellen, den Rest (inkl. Plan) ausblenden.
2. Ist-Planvergleich bis zum aktuellen Monat, d.h. im April 2017 nur Jan-Apr.2017 und den Plan darstellen.
Jeweils den Plan oder das Vorjahr einblenden habe ich schon hinbekommen, auch im Vorjahr die hinteren Monate ausblenden. Was mir fehlt ist, dass ich in 2017 die übrigen Monate ausblenden kann. Einfach zweimal das gleiche Makro auf zwei Bereiche kopieren hat nicht geklappt.
Außerdem blenden er im Moment die Spalten aus, wenn ich das Datum in einer bestimmten Zelle ändere. Ich hätte es lieber über einen Button.
Vielleicht kann mir jemand eine Weihnachtsfreude machen :)
Hier mein bisheriges Werk:
Sub VorjahrEinblenden()
Sheets("PSK_Makro").Activate
Columns("F:R").EntireColumn.Hidden = False
Columns("AJ:AP").EntireColumn.Hidden = True
End Sub
Sub PlanEinblenden()
Sheets("PSK_Makro").Activate
Columns("F:R").EntireColumn.Hidden = True
Columns("AJ:AP").EntireColumn.Hidden = False
End Sub
Private Sub ToggleButton1_Click()
Dim TB As ToggleButton
Set TB = ToggleButton1
If TB.Value = True Then
TB.Caption = "Vorjahr einblenden"
Call PlanEinblenden
Else
TB.Caption = "Plan einblenden"
Call VorjahrEinblenden
End If
End Sub
Private Sub ToggleButton2_Click()
Dim TB2 As ToggleButton2
Set TB2 = ToggleButton2
If TB2.Value = True Then
TB2.Caption = "bis YTD"
Call HideXinD
Else
TB2.Caption = "alle Monate"
Call ShowAll
End If
End Sub
Private Sub HideXinD()
For i = Columns(10, s) To Columns(10, AD)
If Cells(10, i) = "" Then
Cells(10, i).Select
Selection.EntireColumn.Hidden = True
End If
Next
End Sub
Public Sub ShowAll()
Columns("S:AD").EntireColumn.Hidden = False
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer, c As Integer
Dim s_letzte As Range
Dim s_erste As Range
Dim s As Range
If Target.Address <> "$AS$12" Then Exit Sub
'Auswahl geändert:
Set s_erste = Range("Vorjahr")(1)
Set s_letzte = Range("Vorjahr")(1).Offset(0, Range("Vorjahr").Count - 1)
Range("Vorjahr").EntireColumn.Hidden = False
For Each s In Range("Vorjahr")
If s.Value > Target.Value Then
Range(s, s_letzte).EntireColumn.Hidden = True
Exit For
End If
Next
End Sub
Private Sub Worksheet_Change2(ByVal Target As Range)
Dim i As Integer, c As Integer
Dim s_letzte As Range
Dim s_erste As Range
Dim s As Range
If Target.Address <> "$AS$13" Then Exit Sub
'Auswahl geändert:
Set s_erste = Range("Monate")(1)
Set s_letzte = Range("Monate")(1).Offset(0, Range("Monate").Count - 1)
Range("Monate").EntireColumn.Hidden = False
For Each s In Range("Monate")
If s.Value > Target.Value Then
Range(s, s_letzte).EntireColumn.Hidden = True
Exit For
End If
Next
End Sub
Vielen Dank und liebe Grüße
Lisa
|
- 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
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- 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
|
Spalten anhand aktuellem Monat ausblenden |
22.12.2016 16:05:34 |
Lisa |
|
|
|
22.12.2016 16:06:19 |
Gast223 |
|
|
|
22.12.2016 16:17:31 |
Gast25937 |
|
|