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

Inhalte von ausgeblendeten Spalten löschen

Inhalte von ausgeblendeten Spalten löschen
12.08.2015 11:51:44
ausgeblendeten
Hallo zusammen, ich nehme Bezug zu meinem bereits eröffneten Thema "Bestimmte Anzahl an Zeilen und Spalten einblenden".
Die Frage wurde zwar noch nicht endgültig gelöst, aber ich stelle diese erstmal zurück, da mir was anderes wichtiger ist ;)
Folgendes Makro blendet Spalten auf Basis eines Dropdowns (mit Zahlen) ein oder aus:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rg As Range
If Not (Application.Intersect(NeueZeile.[E40], Target) Is Nothing) Then
Application.ScreenUpdating = False
NeueZeile.[K:AX].EntireColumn.Hidden = True
If Target.Value > 0 Then
NeueZeile.Columns("K:AX").Resize(, Target.Value).EntireColumn.Hidden = False
End If
Application.ScreenUpdating = True
End If
End Sub

Sind die Spalten eingeblendet, werden die Zeilen 41 und 42 mit Inhalt befüllt. Ändere ich den Wert des Dropdowns z.B. von 5 auf 2, verschwinden 3 Spalten. Der Inhalt bleibt aber in allen 5 Spalten bestehen.
Wie muss ich das Makro ändern, damit der Inhalt dieser 3 Spalten gelöscht wird?
Dieses Makro löscht nicht sichtbare Werte, aber wie passe ich es an mein Makro an?
Range("K40",
Range("K40").End(xlDown)).SpecialCells(xlCellTypeVisible).ClearContents

Danke für Hilfe!!
VG, Esther

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

Betreff
Datum
Anwender
Anzeige
Nachgefragt
12.08.2015 11:55:14
AlexG
Hallo Esther,
geht es nur um die Zeilen 41 und 42?
Oder ist der bereich größer?
Gruß
Alex

AW: Nachgefragt
12.08.2015 11:57:39
Esther
Genauer gesagt, sind es die Zeilen 40, 41 und 42. Mehr nicht. Und zwar von Spalte K bis AX.

AW: Nachgefragt
12.08.2015 12:10:19
AlexG
Hallo Esther,
deine Vorgeschlagene Code- Zeile löscht nur in sichtbaren Zellen.
Dein vorhaben kann man z.B. so lösen.
 Private Sub Worksheet_Change(ByVal Target As Range)
     Dim rg As Range
     If Not (Application.Intersect(NeueZeile.[E40], Target) Is Nothing) Then
        Application.ScreenUpdating = False
        NeueZeile.[K:AX].EntireColumn.Hidden = True
        Range("K40:AX42").ClearContents
        If Target.Value > 0 Then
           NeueZeile.Columns("K:AX").Resize(, Target.Value).EntireColumn.Hidden = False
        End If
        Application.ScreenUpdating = True
     End If
 End Sub

Gruß
Alex

Anzeige
AW: Nachgefragt
12.08.2015 12:25:26
Esther
Ja, das ist schonmal ganz gut :D danke!
Das Makro löscht aber ALLE Einträge, auch die sichtbaren...
Wenn ich z.B. in 4 Spalten was eingetragen habe und dann feststelle, ich brauche noch eine 5. Spalte, erweitere ich und muss aber alles nochmal eingeben, weil die ersten 4 Einträge auch gelöscht wurden.

AW: Nachgefragt
12.08.2015 12:45:18
AlexG
Hallo Esther
dann so
 Private Sub Worksheet_Change(ByVal Target As Range)
     Dim rg As Range
     If Not (Application.Intersect(NeueZeile.[E40], Target) Is Nothing) Then
        Application.ScreenUpdating = False
        NeueZeile.[K:AX].EntireColumn.Hidden = True
        If Target.Value > 0 Then
           NeueZeile.Columns("K:AX").Resize(, Target.Value).EntireColumn.Hidden = False
        End If
        Range(Cells(40, 11 + Target.Value), Cells(42, "AX")).ClearContents
        Application.ScreenUpdating = True
     End If
 End Sub

Gruß
Alex

Anzeige
AW: Nachgefragt
12.08.2015 12:47:23
Esther
Yeah!! Danke dir! Wieder was dazugelernt :)

Bitte, gern geschehen Gruß Alex (owT)
12.08.2015 12:55:52
AlexG

Danke, Esther,
12.08.2015 16:24:24
Michael
daß ich ne Stunde mit Deinem Problem vertan habe, nur weil Du nen neuen Thread aufgemacht hast!
Gruß,
Michael

AW: Danke, Esther,
12.08.2015 16:49:41
Esther
Sch****!! Sorry! *aufdiekniefallundumentschuldigungbitte*
Das war mir so gar nicht beuwsst :( bin so selten in Foren unterwegs, da hab ich echt nicht dran gedacht.
Aber damit deine Arbeit nicht umsonst war: Wie sieht deine Lösung aus? Genauso wie die von Alex?

Jetzt wirklich danke
12.08.2015 18:23:33
Michael
Hi Esther,
vielen Dank für Deine Entschuldigung (ich war vorhin leicht sauer, sorry): natürlich angenommen und alles gut.
Ich habe sie auf Deinem alten Thread gepostet, zusammen mit einer Reihe Detailfragen:
https://www.herber.de/forum/messages/1442023.html
Mangels definitiver Info habe ich dort allerdings die komplette Spalte gelöscht, das ist ja zwischenzeitlich überholt.
Aber Du kannst die Fragen ja mal überfliegen und ggf. nochmal antworten. Das mit den Zeilen ist ja noch offen - aber antworte dann bitte dort, sonst kommen wir noch völlig durcheinander.
Happy Exceling,
Michael

Anzeige
AW: Nachgefragt
14.08.2015 15:10:12
Esther
Hi nochmal, dieses Makro ist im Einsatz und funktioniert super!!
Jetzt würde ich es gern wo anders einsetzen, aber diesmal nicht für Spalten, sondern Zeilen.
Was genau muss ich da dann ändern? Bloß die Spaltennamen in Zeilennummern und "Column" in "Row"?
(Diesmal müssen die Inhalte nicht gelöscht werden, wenn die Zeilen ausgeblendet werden)

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rg As Range
If Not (Application.Intersect(NeueZeile.[E40], Target) Is Nothing) Then
Application.ScreenUpdating = False
NeueZeile.[K:AX].EntireColumn.Hidden = True
If Target.Value > 0 Then
NeueZeile.Columns("K:AX").Resize(, Target.Value).EntireColumn.Hidden = False
End If
Range(Cells(40, 11 + Target.Value), Cells(42, "AX")).ClearContents
Application.ScreenUpdating = True
End If
End Sub
VG
Esther

Anzeige
hier erledigt,
15.08.2015 10:44:22
Michael
die Antwort wurde in die Datei im anderen Thread eingearbeitet.
M.

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige