Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1160to1164
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Spalten ausblenden

Spalten ausblenden
Tom
Hallo,
ich habe eine Tabelle in der ich in
A2 die aktuelle Kalenderwoche hinterlegt habe
Von F 2 bis ZZZ 2 ist ein fortlaufender Datumsbereich (Tageweise)
Von F 3 bis ZZZ 3 ist jeweils die entsprechende Kalenderwoche eingetragen (7Spalten je Kalenderwoche)
Nun möchte ich, die Spalten von F2 bis ... per vba ausblenden die kleiner sind als die aktuelle Kalenderwoche minus 1 woche, damit ich die letzte Woche immer noch sichtbar habe

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Spalten ausblenden
09.06.2010 10:43:53
Michel2010
Hi Tom,
steht in jeder Zeile 3 die KW?
Wenn ja, einfach eine kleine Schleife.
die Spaltenbreite kannst du mit
Columns(1).ColumnWidth = 0
auf 0 setzen,
Gruß
AW: Spalten ausblenden
09.06.2010 10:56:37
Yusuf
Moin,
die Fett gedruckten stellen muessen Excel 2007 angepasst werden, da ich nur excel 2000 habe.
Excel 2000 hat nur 256 Spalten und 65536 Zeilen.
Sub Spalten_ausblenden()
Dim spalte As Long
If Cells(2, 1) > 2 Then
Range(Cells(1, 6), Cells(65536, 256)).EntireColumn.Hidden = False
spalte = ((Cells(2, 1).Value - 2) * 7) + 5
Range(Cells(1, 6), Cells(65536, spalte)).EntireColumn.Hidden = True
End If
End Sub

Gruß
Yusuf
Anzeige
AW: Spalten ausblenden
09.06.2010 11:28:22
Tom
Hi,
das funktioniert so bei mir noch nicht :-(
könnte mir da auch noch jemand bitte erklären was da ablaufen sollte?
Sub Spalten_ausblenden()
Dim spalte As Long
If Cells(2, 1) > 2 Then
Range(Cells(1, 6), Cells(1048516, 16384)).EntireColumn.Hidden = False
spalte = ((Cells(2, 1).Value - 2) * 7) + 5
Range(Cells(1, 6), Cells(1048516, spalte)).EntireColumn.Hidden = True
'  Columns(1).ColumnWidth = 0
End If
End Sub

AW: Spalten ausblenden
09.06.2010 11:37:02
Yusuf
Moin,
was genau funktioniert denn nicht?
Sub Spalten_ausblenden()
Dim spalte As Long
If Cells(2, 1) > 2 Then 'guckt in der Zelle A2 nach ob der Wert fuer die KW groesser 2 ist,  _
da ansonsten nichts ausgeblendet werden muss
Range(Cells(1, 6), Cells(65536, 256)).EntireColumn.Hidden = False 'blendet alle  _
ausgeblendeten Spalten ein
spalte = ((Cells(2, 1).Value - 2) * 7) + 5 'hier wird die Spalte errechnet, bis zu der  _
ausgeblendet werden soll
Range(Cells(1, 6), Cells(65536, spalte)).EntireColumn.Hidden = True 'hier wird der  _
entsprechende Bereich ausgeblendet
End If
End Sub
Gruß
Yusuf
Anzeige
AW: Spalten ausblenden
09.06.2010 11:55:29
Tom
Hallo,
1. Mein Fehler mir fehlte der Button zum starten des Scriptes.
2. Habe die Berechnung von +5 auf +8 angepasst, weil ich drei Tage zuviel hatte
3. Was mein noch eigentliches Problem ist
Es funktioniert nur wenn mein Datumsbereich beim 1.1. beginnt. Meine Zeitrechnung beginnt jedoch variabel z.B. 9.6.2010
Zur besseren Übersicht für mich habe ich nun die aktuelle Kalenderwoche in A2 und die Datumsangaben in den einzelnen Spalten in Zeile 3 gepackt, die daraus jeweils errechnete Kalenderwoche ist nun ebenfalls in der 2. Zeile
Wenn ich das nun richtig verstehe bezieht sich das ganze Script nur auf die Zelle A2 ohne Berücksichtigung der Kalenderwochenangaben in den auszublenden Spalten (F2-...)
Kann man das irgendwie mit einarbeiten?
Sub Spalten_ausblenden()
Dim spalte As Long
If Cells(2, 1) > 2 Then 'guckt in der Zelle A2 nach ob der Wert fuer die KW groesser 2 ist,  _
_
da ansonsten nichts ausgeblendet werden muss
Range(Cells(1, 6), Cells(1048516, 16384)).EntireColumn.Hidden = False 'blendet alle _
ausgeblendeten Spalten ein
spalte = ((Cells(2, 1).Value - 2) * 7) + 8 'hier wird die Spalte errechnet, bis zu der  _
_
ausgeblendet werden soll
Range(Cells(1, 6), Cells(1048516, spalte)).EntireColumn.Hidden = True 'hier wird der _
entsprechende Bereich ausgeblendet
End If
End Sub

Anzeige
AW: Spalten ausblenden
09.06.2010 12:41:41
Yusuf
Hallo,
da hast du recht.
Ich bin davon ausgegangen, dass du die KW, die angezeigt werden soll (+ 1 Woche vorher) in A2 stehen hast.
Das Makro setzt dann voraus, dass jede KW auch wirklich 7 Spalten belegt und ab Spalte F losgeht.
Ueber das andere habe ich mir noch keine Gedanken machen koennen.
Eventuell koenntest du in deine Tabelle den 7. und den 8. Juni vorneweg ergaenzen, dann wuerde es mit +5 wieder passen und das Datum waer irreleveant.
Gruß
Yusuf
AW: Spalten ausblenden
09.06.2010 12:47:38
ChristianM
Hallo Tom,
mein Vorschlag:

Option Explicit
Sub HideColumns()
Dim vntMtch
With ActiveSheet
vntMtch = Application.Match(.Cells(2, 1), .Rows(3), 0)
If IsNumeric(vntMtch) Then
.Columns.Hidden = False
If vntMtch > 13 Then
.Columns(6).Resize(, vntMtch - 13).Hidden = True
End If
End If
End With
End Sub
Gruß
Christian
Anzeige
AW: Spalten ausblenden
09.06.2010 13:10:00
Tom
Hi,
kann ich nicht irgendwie eine schleife abarbeiten lassen die
a2(aktuelle Kalenderwoche) - 1 (woche zur vergangenheitsansicht) = f2 (1. Tag woche x)
a2(aktuelle Kalenderwoche) - 1 (woche zur vergangenheitsansicht) = g2 (2. Tag woche x)
a2(aktuelle Kalenderwoche) - 1 (woche zur vergangenheitsansicht) = h2 (3. Tag woche x)
a2(aktuelle Kalenderwoche) - 1 (woche zur vergangenheitsansicht) = i2 (4. Tag woche x)
a2(aktuelle Kalenderwoche) - 1 (woche zur vergangenheitsansicht) = j2 (5. Tag woche x)
...
a2(aktuelle Kalenderwoche) - 1 (woche zur vergangenheitsansicht) = aaa2 (x. Tag woche x)
30 (aktuelle Kalenderwoche) - 1 Woche = 29
Somit müssten nur alle Spalten zwischen den spalten f bis aaa ausgeblendet werden die in Zeile 2 einen wert kleiner als 29 stehen haben
Gruß tom
Anzeige
AW: Spalten ausblenden
09.06.2010 13:36:33
Yusuf
Moin,
versuch es bitte nochmal hiermit. Die aktuelle KW steht weiterhin in A2 und die KW ab Spalte F stehen nun in der zweiten Zeile.
Sub ausblenden()
Dim i As Long
For i = 6 To 16384
If Cells(2, i).Value = Cells(2, 1).Value Then
Range(Cells(1, 6), Cells(1048516, 16384)).EntireColumn.Hidden = False
Range(Cells(1, 6), Cells(1048516, i - 8)).EntireColumn.Hidden = True
Exit For
End If
Next
End Sub
Gruß
Yusuf
AW: Spalten ausblenden
09.06.2010 13:55:03
Yusuf
Hi,
bin ab 14 Uhr weg und koennte erst Freitag wieder reingucken.
Viel erfolg noch.
Gruß
Yusuf
AW: Spalten ausblenden
09.06.2010 14:55:20
Tom
:-D
Hallo Yusuf
funktioniert perfekt, genau so hatte ich mir das vorgestellt.
Gruß Tom
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige