Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1352to1356
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

Code anpassen wenn Zelle A1 leer

Code anpassen wenn Zelle A1 leer
16.03.2014 13:42:52
Thomas
Einen schönen Sonntag zusammen!
Ich habe diesen Code gefunden und versuche ihn anzupassen das wenn A1 leer ist das alle Spalten wieder eingeblendet werden sollen.
~ Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
On Error GoTo ErrExit
If Target.Address = "$A$1" Then
With Application
.EnableEvents = False
.ScreenUpdating = False
End With
For Each rng In Range("C2:Z2")
rng.EntireColumn.Hidden = rng  Target
Next
End If
ErrExit:
With Application
.EnableEvents = True
.ScreenUpdating = True
End With
End Sub
~
Wer kann mir dabei Helfen? Vielen Dank schon mal.
Mit freundlichen Grüßen Thomas!

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Code anpassen wenn Zelle A1 leer
16.03.2014 14:24:55
Matze
Hallo Thomas,
teste es mal so, ist die Zelle A1 schon leer würde "nix" passieren, erst wenn du diese Zelle leeren würdest.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
With Application
.EnableEvents = False
.ScreenUpdating = False
End With
If Not Intersect(Target, Range("$A$1")) Is Nothing Then
If Target = "" Then
Columns("C:Z").EntireColumn.Hidden = False
End If
End If
With Application
.EnableEvents = True
.ScreenUpdating = True
End With
End Sub
Matze

AW: Code anpassen wenn Zelle A1 leer
16.03.2014 14:39:44
Thomas
Hallo Matze,
wenn ich die Zelle A1 leer mache blendet er mir die Spalten ein aber trage ich eine Jahreszahl wieder ein blendet er mir die Spalten nicht wieder aus.
Also was ich möchte: Mein Code blendet mir alle Spalten aus bis auf die die in A1 ich eintrage. Nun will ich das wenn ich die Zahl aus A1 entferne das alle Spalten wieder sichtbar sind.
Gruß Thomas

Anzeige
AW: Code anpassen wenn Zelle A1 leer
16.03.2014 14:46:42
Matze
hallo Thomas,
da war vorher keine Rede von.
die Hidden Eigenschaft steuert man mit "wahr" oder" falsch" ( 1 oder 0 )
If Not Intersect(Target, Range("$A$1")) Is Nothing Then
If Target "" Then 'Wenn gefüllt
Columns("C:Z").EntireColumn.Hidden = True
Else 'oder leer
Columns("C:Z").EntireColumn.Hidden = False
End If
End If
Matze

AW: Code anpassen wenn Zelle A1 leer
16.03.2014 15:09:55
Thomas
Hallo Matze,
ich will nicht das die Spalten von C:Z ein und ausgeblendet werden.
Meine Tabelle sieht so aus das ich in C2:Z2 Jahreszahlen stehen habe und wenn ich in A1 das Jahr 2012 eintrage werden alle Spalten ausgeblendet bis auf die Spalte wo in Zeile 2 die 2012 steht. Das macht mein Code wunderbar.
Leere ich aber A1 so blendet mein Code alle Spalten von C:Z aus daher mein anliegen das wenn ich die Jahreszahl in A1 entferne sollen alle Spalten wieder sichtbar sein.
Gruß Thomas

Anzeige
AW: Code anpassen wenn Zelle A1 leer
16.03.2014 15:26:14
Thomas
Hallo Matze,
dank deiner versuche bin ich nun selbst auf die Lösung gekommen.
~Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
On Error GoTo ErrExit
If Target.Address = "$A$1" Then
With Application
.EnableEvents = False
.ScreenUpdating = False
End With
For Each rng In Range("C2:Z2")
rng.EntireColumn.Hidden = rng  Target
Next
End If
If Not Intersect(Target, Range("$A$1")) Is Nothing Then
If Target = "" Then 'Wenn gefüllt
Columns("C:Z").EntireColumn.Hidden = False
End If
End If
ErrExit:
With Application
.EnableEvents = True
.ScreenUpdating = True
End With
End Sub
~
Vielen Dank und noch einen schönen Sonntag allen.
Gruß Thomas

Anzeige
AW: Code anpassen wenn Zelle A1 leer
16.03.2014 15:30:45
Matze

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
With Application
.EnableEvents = False
.ScreenUpdating = False
End With
If Not Intersect(Target, Range("$A$1")) Is Nothing Then
For Each rng In Range("C2:Z2")
If rng  Target Then
rng.EntireColumn.Hidden = True
Else
rng.EntireColumn.Hidden = False
End If
Next
End If
With Application
.EnableEvents = True
.ScreenUpdating = True
End With
End Sub

AW: Code anpassen wenn Zelle A1 leer
16.03.2014 15:39:02
Thomas
Hallo Matze,
dein Code blendet auch alle Spalten aus wenn A1 leer ist.
Ich hab es hinbekommen Danke noch mal.
~If Not Intersect(Target, Range("$A$1")) Is Nothing Then
If Target = "" Then 'Wenn leer
Columns("C:Z").EntireColumn.Hidden = False
End If~
Gruß Thomas

Anzeige
Prima,...waren doch genug Varrianten
16.03.2014 15:51:41
Matze
Hi Thomas,
die dich dazu angeregt haben es umzustellen.
Jetzt solltest nur noch dein $A$1 einmalig als Target definieren und erhältst das Endprodukt kurz und Schmerzlos:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
On Error GoTo ErrExit
If Not Intersect(Target, Range("$A$1")) Is Nothing Then 'die reicht
Application.EnableEvents = False
Application.ScreenUpdating = False
For Each rng In Range("C2:Z2")
rng.EntireColumn.Hidden = rng  Target
Next
If Target = "" Then
Columns("C:Z").EntireColumn.Hidden = False
End If
End If
ErrExit:
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Schönen Restsonntag,
Matze

Anzeige
Matze Danke funzt! OwT
16.03.2014 16:15:16
Thomas

330 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige