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

Laufzeitfehler 1004 - EntireColumn.Hidden

Laufzeitfehler 1004 - EntireColumn.Hidden
05.08.2004 13:08:01
Marc
Hallo Excler,
ich möchte die eine Spalte per Script (nicht per CommandButton) ausblenden und erhalte dann immer den 'Laufzeitfehler 1004'.
Ich habe bereits mit folgendem Code probiert, den Code nur dann auszuführen, wenn die Spalte auch eingeblendet ist. Leider ohne Erfolg.
ActiveWorkbook.ActiveSheet.Columns("B:B").Select
If Selection.EntireColumn.Hidden = False Then Selection.EntireColumn.Hidden = True
Woran kann das liegen?
Vielen Dank vorab
Marc
Vorher Blattschutz ausschalten o.T.
05.08.2004 13:23:03
Roland
War schon aus - und jetzt?
05.08.2004 13:26:51
Marc
Hallo Roland,
vor der Abfrage habe ich bereits den Befehl
Worksheets("Table1").Unprotect
gesetzt. So klappt es auch nicht. Damit sollte doch der Blattschutz ausgeschaltet sein, oder?
Gruß und Danke
Marc
AW: War schon aus - und jetzt?
05.08.2004 14:09:14
Roland
Nein, du entschützt nur Table1, willst aber im ActiveWorkbook.ActiveSheet eine Spalte verstecken. Wenn du dabei einen Fehler bekommst, ist Table1 eben nicht aktiv.
Gruß
Roland
AW: Laufzeitfehler 1004 - EntireColumn.Hidden
Ulf
Columns("B:B").Hidden = Not Columns("B:B").Hidden
Ulf
Verstehe deine Antwort nicht - sorry
05.08.2004 13:30:40
Marc
Hallo Ulf,
ich verstehe deine Antwort nicht ?
Gruß und danke
Marc
AW: Verstehe deine Antwort nicht - sorry
Ulf
Probier es aus, das ist das Gleiche wie dein Code nur effektiver.
Ulf
Anzeige
AW: Verstehe deine Antwort nicht - sorry
05.08.2004 13:43:10
Marc
Wenn ich sowohl
Columns("D:D").Hidden = Not Columns("D:D").Hidden
als auch
If Selection.EntireColumn.Hidden = False Then Columns("D:D").Hidden = Not Columns("D:D").Hidden
schreibe, bleibt der Fehler vorhanden.
?
AW: Verstehe deine Antwort nicht - sorry
Ulf
Entweder ist das Blatt geschützt oder es ist nicht das aktive Blatt.
Lad doch mal ein Beispiel hoch.
Ulf
AW: Verstehe deine Antwort nicht - sorry
05.08.2004 13:56:48
Marc

Private Sub hiding()
Worksheets("Table1").Unprotect
If RFI_Form_Supplier.Label21.Visible = False Then
ActiveWorkbook.ActiveSheet.Columns("D:D").Select
If Selection.EntireColumn.Hidden = False Then Columns("D:D").Hidden = Not Columns("D:D").Hidden
End If
End Sub

Anzeige
AW: Verstehe deine Antwort nicht - sorry
Ulf

Private Sub hiding()
With Worksheets("Table1")
.Activate
.Unprotect
If RFI_Form_Supplier.Label21.Visible = False Then
.Columns("D:D").Hidden = Not Columns("D:D").Hidden
End If
End With
End Sub

Ulf
AW: Verstehe deine Antwort nicht - sorry
05.08.2004 14:21:42
Marc
Das Ausblenden klappt jetzt. Allerdings wird die Spalte beim nächsten Durchlauf der Schleife wieder eingeblendet. Habe versucht eine weitere Abfrage einzubauen. Das Script schaltet es trotzdem bei jedem Durchlauf um...
Private Sub hiding()
With Worksheets("Table1")
.Activate
.Unprotect
If RFI_Form_Supplier.Label21.Visible = False Then
If Selection.EntireColumn.Hidden = False Then
.Columns("D:D").Hidden = Not Columns("D:D").Hidden
End If
End If
End With
Snd sub
Anzeige
AW: Verstehe deine Antwort nicht - sorry
Ulf
Wann soll denn ausgeblendet werden?
Ulf
AW: Verstehe deine Antwort nicht - sorry
05.08.2004 14:34:58
marc
Dein Script blendet die Spalte D aus. So soll es ja auch sein, wenn die Spalte eingeblendet ist. Allerdings wird mit deinem Script beim nächsten Durchlauf (wenn die Spalte schon ausgeblendet ist) die Spalte wieder eingeblendet. Allerdings soll sie generell ausgeblendet bleiben. Deswegen habe ich versucht, die Abfrage einzubauen, ob die Spalte noch sichtbar ist (dann soll sie ausgeblendet werden) oder schon unsichtbar ist(dann soll sie ausgeblendet bleiben)... War das jetzt etwas verständlicher?
Gruß und Danke
Marc
AW: Verstehe deine Antwort nicht - sorry
Ulf
Das ist doch unnütz, wenn sie immer ausgeblendet bleiben soll, brauchst du keine Abfrage.
Dein VBA- Level gut stimmt aber?
Ulf
Anzeige
AW: Verstehe deine Antwort nicht - sorry
05.08.2004 14:49:39
Marc
ist es nicht, denn wenn du dein Script (s.u.) zweimal ausführst, wird jeweils der Status (sichtbar/unsichtbar) geändert. D.h. beim ersten Teil wird die Spalte ausgeblendet und im zweiten Teil wieder eingeblendet.

Private Sub hiding()
With Worksheets("Table1")
.Activate
.Unprotect
'### erster Teil ####
If RFI_Form_Supplier.Label21.Visible = False Then
.Columns("D:D").Hidden = Not Columns("D:D").Hidden
End If
'#### zweiter Teil ####
If RFI_Form_Supplier.Label21.Visible = False Then
.Columns("D:D").Hidden = Not Columns("D:D").Hidden
End If
End With
End Sub

P.S.: ich denke schon, dass ich ein gewisses Level VBA vorweisen kann.
Anzeige
AW: Verstehe deine Antwort nicht - sorry
Ulf
Ja, bei meinem Code ist das so, weil deine ursprüngliche Lösung so aussah.
Was soll denn eigenlich passieren, wenn das Label nicht visble=false ist?
Ulf
AW: Verstehe deine Antwort nicht - sorry
05.08.2004 15:06:43
Marc
Wenn das Label nicht false ist, soll die Spalte eingeblendet bleiben. Wenn sie allerdings false ist, soll beim ERSTEN Durchlauf die Spalte ausgeblendet WERDEN. Bei jedem WEITEREN Durchlauf (z.B. beim Springen zw. verschiedenen Tabellenblättern) soll die Spalte ausgeblendet BLEIBEN, da sich die Eigenschaft des Labels nicht vorm gesamten Schließen des XLS-Files ändert.
AW: Verstehe deine Antwort nicht - sorry
Ulf
Dann ganz einfach so:
Option Explicit

Private Sub hiding()
With Worksheets("Table1")
.Activate
.Unprotect
.Columns("D:D").Hidden = RFI_Form_Supplier.Label21.Visible
End With
End Sub

Ulf
Anzeige
AW: Verstehe deine Antwort nicht - sorry
05.08.2004 15:46:18
Marc
jetzt verschwindet es überhaupt nicht mehr :-(
Muss ich da jetzt vielleicht irgendwo noch ein "not" oder so einsetzen?
Ich muss übrigens gleich verschwinden, habe noch ein Meeting. Vielen Dank schon mal für deine Zeit und Hilfe
Gruß
Marc
AW: Verstehe deine Antwort nicht - sorry
Ulf
Werden ausgeblendet, wenn das Label.visible = false ist
Ulf

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige