Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1660to1664
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
Spalten ein-/ausblenden
29.11.2018 08:00:46
Florian
Guten Morgen,
ich habe einen Schichtplan, der pro Kalenderwoche eine Spalte hat.
Per bedingter Formatierung markiert Excel immer die aktuelle Woche. In Zeile 2 wird dazu der Wert "Aktuell" ermittelt, damit die bedingte Formatierung ausgeführt werden kann.
Ich bräuchte jetzt zwei VBA-Codes:
1. Der erste Code soll alle Spalten (außer Spalte A und B) aus der Vergangenheit (also links von der Zelle, in der "Aktuell" steht) ausblenden.
2. Der zweite Code soll die Spalte der Vorwoche einblenden (extra Makro).
Ich habe leider nichts passendes gefunden, daher bräuchte ich dazu bitte eure Hilfe. Vielen Dank dafür.
Gruß
Florian

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalten ein-/ausblenden
29.11.2018 09:09:43
RPP63
Moin!
Fixiere die Spalten A:B und scrolle per ActiveWindow.ScrollColumn = aktKW - 1 in die Vorwoche.
Näheres kann ich in Unkenntnis Deiner Datei nicht sagen.
Gruß Ralf
AW: Spalten ein-/ausblenden
29.11.2018 09:51:52
Florian
Hallo Ralf,
damit komme ich leider nicht weiter.
Ich habe bisher folgenden Code:
Columns(Cells(2, Columns.Count).End(xlToLeft).Column).Resize(, 5).EntireColumn.Hidden = False
Ich kann ihn nicht genau lesen. Er blendet immer die nächsten 4 Spalten ein, die noch ausgeblendet sind. Ich brauche den gleichen Code nur in die linke Richtung und mit dem Einblenden einer Spalte. Wie muss dieser umgebaut werden?
Gruß
Florian
Anzeige
AW: Spalten ein-/ausblenden
29.11.2018 10:09:36
Werner
Hallo Florian,
Columns(Cells(2, Columns.Count).End(xlToLeft).Column -1).EntireColumn.Hidden = False
Gruß Werner
quick & dirty
29.11.2018 10:11:46
RPP63

Sub RPP()
Dim Spalte&, i&
Spalte = Rows(2).Find("aktuell", LookAt:=xlWhole, LookIn:=xlValues).Column
Columns.Hidden = False
For i = 3 To 1000
If i 
Gruß Ralf
AW: quick & dirty
29.11.2018 10:27:42
Florian
Hallo zusammen,
der Code von Werner macht leider überhaupt nichts.
Der Code von Ralf funktioniert, er hat nur einen Schönheitsfehler.
Links von der Spalte mit dem Wert "Aktuell" sind normalerweise die Spalten ja bereits ausgeblendet. Der Code öffnet zuerst alle Spalten, bevor er alle Spalten (bis auf die Vorwoche und die Spalten A und B) wieder schließt. Kann man das verhindern, dass bereits ausgeblendete Spalten gar nicht erst eingeblendet werden, bevor die Spalten wieder ausgeblendet werden? Es sieht nur unschön aus, wenn bereits viele Spalten ausgeblendet sind...
Danke und Gruß
Florian
Anzeige
AW: quick & dirty
29.11.2018 10:28:01
Florian
Hallo zusammen,
der Code von Werner macht leider überhaupt nichts.
Der Code von Ralf funktioniert, er hat nur einen Schönheitsfehler.
Links von der Spalte mit dem Wert "Aktuell" sind normalerweise die Spalten ja bereits ausgeblendet. Der Code öffnet zuerst alle Spalten, bevor er alle Spalten (bis auf die Vorwoche und die Spalten A und B) wieder schließt. Kann man das verhindern, dass bereits ausgeblendete Spalten gar nicht erst eingeblendet werden, bevor die Spalten wieder ausgeblendet werden? Es sieht nur unschön aus, wenn bereits viele Spalten ausgeblendet sind...
Danke und Gruß
Florian
Anzeige
AW: quick & dirty
29.11.2018 11:28:37
Werner
Hallo Florian,
dass mein Code nichts macht, das wage ich mal zu bezweifeln. Der macht genau das, was nach deinen Vorgaben gefordert war.
Er ermittelt die letzte belegte Spalte in Zeile 2 und blendet die Spalte davor ein. Wenn die natürlich schon eingeblendet sein sollte, dann tut sich logischerweise gar nichts.
So war aber deine Vorgabe mit der einzelnen Codezeile von dir.
Dein Datei kenne ich nicht
Aber was solls, der Code von Ralf funktioniert dann ja wohl, weil er alle ausgeblendeten Spalten zunächst einblendet. Das "unschöne" kriegst du weg, indem du am Anfang die Bildschirmaktualisierung ausschaltest.
Sub RPP()
Dim Spalte&, i&
Spalte = Rows(2).Find("aktuell", LookAt:=xlWhole, LookIn:=xlValues).Column
Application.ScreenUpdating = False
Columns.Hidden = False
For i = 3 To 1000
If i 
Gruß Werner
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige