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

VBA Zellen/Spalten ausblenden

VBA Zellen/Spalten ausblenden
23.04.2013 15:02:55
Philipp
Hi zusammen,
Ich möchte bestimmte Zellen und Spalten automatisch ein und ausblenden, je nachdem wie die oben eingegeben Werte sind. Eine Beispieldatei findet ihr hier:

Die Datei https://www.herber.de/bbs/user/85017.xlsx wurde aus Datenschutzgründen gelöscht


Zur Besipieldatei: Excel soll lediglich die grünen Zellen anzeigen, diese Decken sich mit den zuvor getätigten Eingaben. Alle anderen Spalten solle nausgeblednet werden.
Ich bin leider der totale VBA Anfänger und finde aktuell keinerlei Ansatz :(
Hoffe ihr könnt mir Helfen!
Besten Dank im Vorraus!

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Zellen/Spalten ausblenden
23.04.2013 15:29:39
Klaus
Hi,
in deiner Datei steht eine andere Aufgabe als in deinem Beitrag.
Aufgabe aus Beitrag:
Rückfrage: woher weiss Excel, welche Zeilen / Spalten ausgeblendet werden sollen? Aus der Datei würde ich schließen, alle Zeilen ausblenden in denen in Spalte B das Wort "Wigg" steht. Korrekt?
Was bedeutet "automatisch" für dich ... bei jeder Aktion, bei jeder Berechung, bei Click auf einen Button, bei start der Datei ....
Aufgabe aus Datei:
schreibe in B20:
=SUMMEWENN(B6:$B$15;B20;$A$6:A15)
Beachte: es ist korrekt, das "Huber" 0 ergibt. Denn oben heisst er anders (und zwar "Huber_" mit Leerzeichen).
Grüße,
Klaus M.vdT.

Anzeige
AW: VBA Zellen/Spalten ausblenden
23.04.2013 15:39:32
Philipp
Ich habe mich wohl undeutlich ausgedrückt. Sorry
Theoretisch stehen in jedem Feld der Tabelle Werte und Excel soll alle ausblenden, die nicht das passende Jahr,die passende Zahl und passende Spalte darstellen.
Steht also z.B. oben
2003 2 2
2004 2 2
soll Excel lediglich die zutreffenden Zellen anzeigen. In diesem Fal lalso genau 2 Zellen.
Ich hoffe das war verständlicher ;-)

Häääh? Hab ich eine falsche Datei? (owT)
23.04.2013 15:42:56
EtoPHG

Dito
23.04.2013 15:43:39
Klaus
Hi Hansueli,
ich kann die Aufgabe auch nicht mit der Datei in Einklang bringen.
Grüße,
Klaus M.vdT.

falsche Datei
23.04.2013 17:10:49
Erich
Hi zusammen,
wenn man versucht, die 85017.xls aus Philipps 1. Beitrag herunterzuladen, bekommt man stattdessen die 80517.xls.
Dass die Inhalte dann nicht zum Thread passen, ist kein Wunder.
Warum auch immer gibt es die 85017.xls nicht (mehr) auf dem Server - der bietet dann etwas "Ähnliches" an...
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
Autofilter und Teilergebnis, decken..
23.04.2013 15:35:24
EtoPHG
doch alles ab, Philipp
Warum mit VBA und kompliziert mit Farben arbeiten?
Mach eine Tabelle (Einfügen-Tabelle) aus deinem Datenbereich. Dann kannst du nach Namen filtern und wenn du noch irgendwo ausserhalb der Liste eine =TEILERGEBNIS(9,Bereich) Formel unterbringst, siehst du auch gleich das Total der gefilterten Datensätze.
Gruess Hansueli

AW: VBA Zellen/Spalten ausblenden
23.04.2013 15:50:28
Philipp
Okay, ich habe eine neue Vorlage erstellt.
https://www.herber.de/bbs/user/85021.xlsx
Also nochmal:
1) Ich gebe oben ein Jahr, eine Nr und eine Spalte an. Ich denke das kann mit einer Art Koordinate verglichen werden.
2) Nach Eingabe soll Excel mir genau diese eine Zelle (im Beispiel sind es zwei) anzeigen und alles andere ausblenden. Lösche ich meine Angaben oben links,so soll Excel wieder die komplette Tabelle anzeigen.
Ich habe schon sämtliche meine Kollegen verwirrt damit. Und ich bin ebenso verwirrt ;)

Anzeige
AW: VBA Zellen/Spalten ausblenden
23.04.2013 16:08:14
Klaus
https://www.herber.de/bbs/user/85023.xlsm
Hi,
das du verwirrt bist merke ich. Deine erste Datei war völlig falsch. In deiner jetztigen Datei schreibst du "von - bis", meinst es aber nicht. Sonst hättest du 2003-1, 2003-2, 2003-3 und 2004-1 alle grün markieren müssen.
Grüße,
Klaus M.vdT.

noch ein Vorschlag
23.04.2013 17:06:03
Erich
Hi Philipp,
hier noch ein Vorschlag - zunächst der Code (ist eine Ereignisprozedur,
gehört also in den Code der Tabelle):

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngBed As Range, arBed, rngW As Range, arW
Dim rr As Long, cc As Long
Dim lngR1 As Long, lngC1 As Long
Dim rngHR As Range, rngHC As Range
Set rngBed = Range("C4:E5")  ' Bereich mit Bedíngungen
lngR1 = 11                   ' erste Datenszeile
lngC1 = 6                    ' erste Datenspalte
If Intersect(Target, rngBed) Is Nothing Then Exit Sub
arBed = Cells(4, 3).Resize(2, 3)
Set rngW = Cells(lngR1, lngC1).CurrentRegion
arW = rngW
lngR1 = lngR1 - 1
lngC1 = lngC1 - 1
For rr = 2 To UBound(arW)
If Not IsEmpty(arBed(1, 1)) And arBed(1, 1) > arW(rr, 1) Then _
Call RngUnion(rngHR, Cells(lngR1 + rr, 1))
If Not IsEmpty(arBed(2, 1)) And arBed(2, 1)  arW(rr, 2) Then _
Call RngUnion(rngHR, Cells(lngR1 + rr, 1))
If Not IsEmpty(arBed(2, 2)) And arBed(2, 2)  arW(1, cc) Then _
Call RngUnion(rngHC, Cells(1, lngC1 + cc))
If Not IsEmpty(arBed(2, 3)) And arBed(2, 3) 
und hier die BeiSpielMappe:
https://www.herber.de/bbs/user/85024.xlsm
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
und noch eine Variante...
23.04.2013 17:30:28
Erich
Hi,
das ginge wohl auch:

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngB As Range, arB, rngW As Range, arW, ii As Long
Dim rr As Long, cc As Long
Dim lngR0 As Long, lngC0 As Long
Dim rngHR As Range, rngHC As Range
Set rngB = Range("C4:E5")     ' Bereich mit Bedíngungen ohne Ueb.
Set rngW = Range("F11:K20")   ' Bereich mit Werten       mit Ueb.
If Intersect(Target, rngB) Is Nothing Then Exit Sub
lngR0 = rngW.Row - 1                ' erste Datenszeile-1
lngC0 = rngW.Column - 1             ' erste Datenspalte-1
arB = rngB                          ' Array der Bedingungswerte
arW = rngW                          ' Array der Daten
For rr = 2 To UBound(arW)           ' Zeilenbedingungen
For ii = 1 To 2
If Not IsEmpty(arB(1, ii)) And arB(1, ii) > arW(rr, ii) Then _
RngUnion rngHR, Cells(lngR0 + rr, 1)
If Not IsEmpty(arB(2, ii)) And arB(2, ii)  arW(1, cc) Then _
RngUnion rngHC, Cells(1, lngC0 + cc)
If Not IsEmpty(arB(2, 3)) And arB(2, 3) 
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich
Anzeige

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige