Wir wünschen allen Forenteilnehmern ein frohes Fest und einen guten Rutsch ins neue Jahr. x

Datum in Zeile finden und dann Spalten ausblenden
#1
Guten Abend liebe Community,

ich stehe gerade wieder vor einem Problem, YouTube und Google können mir da irgendwie nicht weiter helfen...
In der angehängten Datei findet ihr ein kleines Beispiel von der Tabelle mit der ich arbeite...
In jeden Tag Trage ich Planungsstunden für zich Objekte ein...wenn hier unterjährlich Änderungen stattfinden muss ich ab Datum X die werte anpassen.

Da ich keine Lust mehr habe mir ein Wolf zu Scrollen hätte ich gerne das mir Excel die Spalten ausblendet, so dass Datum X dort steht wo jetzt der 01.01.2023 steht.

Zum testen habe ich die Zelle A1 genommen, würde das ganze aber im Idealfall über eine Userform verwirklichen, hierzu habe ich auch eine kleine UF erstellt in der Datei.

Ich hoffe es gibt hier jemand der mir helfen kann.

Off Topic: ein weiteres Anliegen :) ich benutze in meine Normalen Tabelle Datenschnitte und würde gerne ein Bestimmtes Makro triggern wenn ein Feld im Datenschnitt ausgewählt wurde, wie fange ich so ein Makro an?
(Die Pivot Tabelle befindet sich auf einem anderen Blid wie die Datenschnitte)

Ich wünsche euch noch einen Schönen Abend,

liebe Grüße

Seeqi


Angehängte Dateien
.xlsm   Test für Forum.xlsm (Größe: 21,96 KB / Downloads: 7)
Antworten Top
#2
Moin!
Da der Datumsstrahl kontinuierlich ist und ab Spalte 11 (K) beginnt, reicht hier einfache Mathematik:
Code:
Sub Einfach()
ActiveWindow.ScrollColumn = 11 + Range("A1") - DateValue("1/1/2023")
End Sub

Spalte K sollte man fixieren.
Noch ein Hinweis zum geplanten Userform:
Lass es!
Schreibe das Datum mittels Ziffernblock in die Zelle A1:
17-8 ergibt den 17.08.2023
(Zelle enthält Datengültigkeit: Datum nur aus 2023)
Wenn Du dann noch ein Ereignismakro nimmst, hast Du maximale Erleichterung Deines Ansinnens!
Ins Modul der Tabelle:
Microsoft Excel Objekt Tabelle1
Private Sub Worksheet_Change(ByVal Target As Range) 
With Target 
  If .Address = "$A$1" And IsDate(.Value) Then 
    ActiveWindow.ScrollColumn = 11 + .Value - DateValue("1/1/2023") 
  End If 
End With 
End Sub 

Ich habe die überarbeitete Datei angehängt.

Gruß Ralf


Angehängte Dateien
.xlsm   Datengültigkeit und Ereignis.xlsm (Größe: 16,68 KB / Downloads: 1)
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • Seeqi
Antworten Top
#3
Hallo Ralf,

erstmal danke für deine Lösung, leider ist diese nicht so schön für mein Tabelle :(.

Der Datumstrang beginnt in der Originaldatei bei Spalte AV vorher kommen Stammdaten, daher ja meine Überlegung vom ausblenden der Zeilen über eine Userform.
Antworten Top
#4
Hallo,

dann vielleicht so:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  With Target
    If .Address = "$A$1" And IsDate(.Value) Then
      ActiveWindow.ScrollColumn = Columns("AV").Resize(, .Value - DateValue("1/1/2023")).Hidden = True
    End If
  End With
End Sub

Gruß, Uwe
Antworten Top
#5
Wenn 1 jan 2023 sich in AV5 befindet:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address = "$A$1" Then Application.Goto Cells(5, 48 + Format(Target, "y")), True
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top


Gehe zu:


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