Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
964to968
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
964to968
964to968
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Spalten ausblenden

Spalten ausblenden
03.04.2008 14:46:00
Andre´
Hallo alle zusammen,
ich habe in der Zelle A1 ein Anfangsdatum stehen und in der Zelle A2 das Enddatum.
Ab der Zelle C9 bis IU9 können die Daten aus A1 und A2 vorkommen. Nun blende ich über folgendes Makro die Spalten aus die kleiner als A1oder größer als A2 sind.
Dim Datum1 As String
Dim Datum2 As String
Dim i As Integer

Sub SpaltenAusblenden_Backflush_Auswertung_()
Datum1 = CDate(Worksheets("Tabelle1").Range("A1"))
Datum2 = CDate(Worksheets("Tabelle1").Range("A2"))
Columns.Hidden = False
For i = 255 To 3 Step -1
'For i = 16383 To 3 Step -1 'bei Excel 2007
If CDate(Cells(9, i)) > Datum2 Or (Cells(9, i)) = "" Or CDate(Cells(9, i)) 


Nach rechts muss immer die letzte Spalte eingeblendet bleiben (IV bei Excel 2003, XFD bei Excel 2007) und nach links die ersten zwei Spalten (A:B). Da ich jetzt mit Excel 2007 arbeite dauert es sehr lange, bis jede einzelne Zelle abgeprüft wurde. Deshalb habe ich mir gedacht, dass mit Übereinstimmung der Zelle A1 alle Spalten nach links incl. Spalte C ausgeblendet werden und bei Übereinstimmung mit Zelle A2 alle Spalten incl. Spalte IU (bei Excel 2003, bei Excel 2007 Spalte XFC) ausgeblendet werden.
In dem Bsp.: https://www.herber.de/bbs/user/51237.xls
müssen die Spalten C:AE und die Spalten BK:IU (bei Excel 2003) ausgeblendet werden.
Bei Excel 2007 wären es die Spalten C:AE und die Spalten BK:XFC.
Hat jemand einen Tipp wie ich das realisieren könnte.
Vielen Dank im Voraus
MFG Andre

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalten ausblenden
03.04.2008 15:50:00
Rudi
Hallo,

Sub tt()
Dim rngVisible As Range, rngC As Range
Columns.Hidden = True
Set rngVisible = Range(Columns(1), Columns(2))
For Each rngC In Rows(9).Cells
If rngC.Column > 2 Then
If rngC.Value >= Range("A1") And rngC.Value 


Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: Spalten ausblenden
03.04.2008 17:13:00
Andre´
Hallo Rudi,
danke für den Tipp. In Excel 2003 funktioniert es prima,
Farge1:
kannst Du mir bitte noch erklären wie Du es einstellst, dass die letzte Spalte eingeblendet wird. Für den Fall, dass ich die letzten zwei Spalten eingeblendet lassen möchte.
Bei Excel 2007 funktioniert es nicht, da bleiben nach rechts die Spalten IV: XFD eingeblendet obwohl hier die Spalten bis XFC ausgeblendet werden sollten.
Frage2:
Hast Du auch hierfür eine Lösung?
MFG Andre

Anzeige
AW: Spalten ausblenden
03.04.2008 17:48:20
Rudi
Hallo,

da bleiben nach rechts die Spalten IV: XFD eingeblendet


verstehe ich nicht. Was steht drin?


Sub tt()
Dim rngVisible As Range, rngC As Range
Columns.Hidden = True
Set rngVisible = Range(Cells(9, 1), Cells(9, 2))   'ersten 2 Spalten
Set rngVisible = Union(rngVisible, Cells(9, Columns.Count)) 'letzte Spalte
'   Set rngVisible = Union(rngVisible, Cells(9, Columns.Count-1))'vorletzte Spalte
For Each rngC In Rows(9).Cells
Select Case rngC.Column
Case 1, 2, Columns.Count
'nix passiert
Case Else
If rngC.Value >= Range("A1") And rngC.Value 


Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige
AW: Spalten ausblenden
03.04.2008 19:31:18
Andre´
Hallo Rudi,
danke für die Erläuterung.
Arbeitest Du auch schon mit Excel 2007?
Mit Excel 2007 funktioniert der Code wohl nicht denn der Code:
Set rngVisible = Union(rngVisible, Cells(9, Columns.Count)) 'letzte Spalte
geht von der Spalte IV meiner Meinung nach aus.
Ich habe mal die Datei im Format xlsm angehängt. https://www.herber.de/bbs/user/51252.xlsm
Ich hoffe, dass es auch eine Lösung dafür gibt.
MFG Andre

AW: Spalten ausblenden
03.04.2008 21:33:35
Rudi
Hallo,
nein, kein 2007.
Was ergibt in 2007 denn
Msgbox columns.count
?
Gruß
Rudi
Eine Kuh mach muh, viele Kühe machen Mühe.

Anzeige
AW: Spalten ausblenden
04.04.2008 08:09:00
Andre´
Hallo Rudi,
Msgbox columns.count
ergibt in Excel 2007
16384
aber in meinem Bsp. bleiben die Spalten IV (256) bis zur Spalte XFD (16384) eingeblendet.
MFG Andre

AW: Spalten ausblenden
04.04.2008 11:30:22
Rudi
Hallo,
dann stehen in Zeile 9 Werte, die den Einblendungskriterien entsprechen.
Dein Bsp. kann ich nicht öffnen, da kein 2007.
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Spalten ausblenden prüfen unter Excel 2007
04.04.2008 12:07:00
Andre´
Hallo Rudi,
in der Zeile 9 wird jeweils um eins erhöht (beginnend in C), die Spalten die ich genannt habe bleiben eingeblendet, obwohl diese ausgeblendet sein müsten.
Vielleicht kann mir jemand weiter helfen der Deinen Code in Excel 2007 mal abprüft.
Vielen Dank im Voraus!
MFG Andre

Anzeige
AW: Spalten ausblenden prüfen unter Excel 2007
06.04.2008 13:55:00
fcs
Hallo André,
ich hab das Makro von Rudi unter Excel 97 getestet - 2007 hab ich auch nicht. Es funktioniert.
Es sind eigentlich keine ungewöhnlichen Befehle drin, die unter 2007 nicht funktionieren sollten. Aber man weiss bei Microsoft ja nie an welcher Stelle manchmal klitzekleine -aber Ärger verursachende- Änderungen vorgenommen werden.
Warum hast du in deinem ursprünglichen Makro eigentlich die Funktion CDate verwendet, um die Zellwerte (A1, A2 und Zellwerte in Zeile 9) in Datumswerte umzuwandeln? Mit den Daten in deiner Beispieldatei ist das nicht erforderlich
Hier deine ursprüngliche Version etwas modifiziert. Evtl. läuft die ja unter Excel 2007.
Gruß
Franz

'Alternative, ursprüngliche Lösung angepasst
Sub SpaltenAusblenden_Backflush_Auswertung_()
Dim Datum1 As Date
Dim Datum2 As Date
Dim i As Integer
Dim lastSpalte As Integer
Dim objWs As Worksheet
Set objWs = Worksheets("Tabelle1")
Application.ScreenUpdating = False
With objWs
Datum1 = .Range("A1").Value
Datum2 = .Range("A2").Value
'Alle Spalten einblenden
.Columns.Hidden = False
'Letzte Spalte mit Wert in Zeile 9
lastSpalte = .Cells(9, .Columns.Count).End(xlToLeft).Column
'Spalten zwische letzter Datenspalte und Letzter Tabellenspalte ausblenden
.Range(.Columns(lastSpalte + 1), .Columns(.Columns.Count - 1)).Hidden = True
'Werte in Zeile 9 prüfen und ggf. Spalte ausblenden
For i = lastSpalte To 3 Step -1
If .Cells(9, i).Value > Datum2 _
Or .Cells(9, i).Value = "" _
Or .Cells(9, i).Value 


Anzeige
AW: Spalten ausblenden prüfen unter Excel 2007
06.04.2008 19:04:10
Andre´
Hallo Franz,
ob es in Excel 2007 funktioniert teste ich am Montag.
Vielleicht funktioniert es (geht schneller) wenn nicht jeder einzelne Zellwert mit A1 bzw. A2 verglichen werden muss.
Da meine Werte in der Zeile 9 nur einmal vorkommen und aufsteigend beginnen, kann man doch bestimmt mehrere Spalten gleichzeitig ausblenden.
So etwa:
Suche den Zellwert von A1 in der Zeile 9 wenn gefunden dann nach links alle Spalten ausblenden.
In dem Bsp. ist der Zellwert von A1 in der Spalte AF zu finden also müssen die Spalten C bis AE ausgeblendet werden.
Suche den Zellwert von A2 in der Zeile 9 wenn gefunden dann nach rechts alle Spalten bis auf die vorletzte ausblenden.
In dem Bsb. ist der Zellwert von A2 in der Spalte BJ zu finden also müssen die Spalten BK bis IU (bis Excel 2003) ausgeblendet werden.
Ich denke hiermit würde es noch schneller gehen weil nicht jede Zelle extra geprüft werden muss. Hab blos keine Idee wie ich die Spalte C und die vorletzte Spalte IU definieren muss damit dies funktionieren könnte.
Hast Du dafür eine Lösung.
MFG Andre

Anzeige
AW: Spalten ausblenden prüfen unter Excel 2007
07.04.2008 09:28:00
Andre´
Hallo alle zusammen,
als ich heute meinen Rechner gestartet habe, habe ich nochmals alle Makros vom ersten Beitrag durchlaufen lassen. Mit Verwunderung muste ich feststellen, dass plötzlich alle Makros funktionieren, die letzte Woche in Excel 2007 Schwierigkeiten verursacht hatten.
Hat jemand solch ein Problem schon einmal festgestellt, ich wüste gern woran dies gelegen haben sollte.
MFG Andre

AW: Spalten ausblenden prüfen unter Excel 2007
09.04.2008 16:34:00
Jens
Hi,
vermute mal, dass der Grund die Ursache war.
Alte PC-Weisheit: Ein Reboot und gut.
mfg Jens

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige