Herbers Excel-Forum - das Archiv

Spalte ausblenden bei Bedingung

Bild

Betrifft: Spalte ausblenden bei Bedingung
von: Andrew

Geschrieben am: 12.12.2006 15:50:53
Hallo zusammen,
ich habe folgendes Problem:
in einer Excel-Tabelle möchte ich die Spalten, die in einer Zelle ein "X" aufweisen, ausblenden. Gleichzeitig möchte ich aber die Zeilen-SUmmen ausrechnen, was mit der Formel TEILERGEBNIS nicht funktioniert.
Da ich ein VBA-Anfänger bin, kann ich mir leider nicht selbst helfen
eine BeispielTabelle ist beigefügt:
https://www.herber.de/bbs/user/38913.xls
Für eure Hilfe wäre ich sehr dankbar.
Viele Grüße
Andrew
Bild

Betrifft: zu 2/2
von: Reinhard

Geschrieben am: 12.12.2006 16:50:44
Hi Andrew
Tabelle:
│    C   │    D    │    E    │    F    │    G    │    H    │    I    │
───┼────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
3 │ Gesamt │ Objekt1 │ Objekt2 │ Objekt3 │ Objekt4 │ Objekt5 │ Objekt6 │
4 │        │       X │       X │   not_X │       X │   not_X │   not_X │
5 │     21 │       6 │       1 │       3 │       9 │       8 │       1 │
6 │     23 │      10 │       7 │       4 │       9 │       9 │       1 │
7 │     25 │       9 │       9 │       4 │       6 │       7 │       8 │
8 │     26 │      10 │       7 │      10 │       1 │       6 │       9 │
9 │     21 │       9 │       3 │       5 │       2 │       9 │       5 │
10 │     32 │       1 │       7 │       6 │      10 │       7 │       9 │
11 │     26 │       1 │       3 │       6 │       8 │       7 │       5 │
12 │     24 │      10 │       4 │       6 │       1 │      10 │       7 │
───┴────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘
Benutzte Formeln:
C5 :  =SUMME2(D5:I5)
C6 :  =SUMME2(D6:I6)
C7 :  =SUMME2(D7:I7)
C8 :  =SUMME2(D8:I8)
C9 :  =SUMME2(D9:I9)
C10:  =SUMME2(D10:I10)
C11:  =SUMME2(D11:I11)
C12:  =SUMME2(D12:I12)

Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
Bild

Betrifft: zu 1/2
von: Reinhard
Geschrieben am: 12.12.2006 16:57:19
Hi Andrew,
Sub aus()
Dim S
For S = 4 To 256
If Cells(4, S) = "x" Or Cells(4, S) = "X" Then Columns(S).Hidden = True
Next S
End Sub

Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
Bild

Betrifft: AW: zu 1/2
von: Andrew

Geschrieben am: 12.12.2006 17:21:21
Hallo Reinhard,
vielen Dank für deine Hilfe.
Dein Makro funktioniert super. Jetzt habe ich leider einen Fehler gemacht. Denn die Spalte soll ausgeblendet werden, wenn sie gerade nicht gleich "x" oder "X" ist.
Daher habe ich in dem VBA-Code geschrieben <>"x". Das funktioniert aber leider nicht, da er nun alles ausblendet.
Vielleicht könntest du mich an der Stelle noch mal unterstützen.
Die Summe2-Funktion kenne ich leider nicht. Sie funktioniert nicht. Beruht das auch auf einem VBA-Code?
Viele Grüße
Andrew
Bild

Betrifft: AW: zu 1/2
von: Reinhard

Geschrieben am: 12.12.2006 17:24:38
Hi Andrew,
hatte den Code vergessen bei der Funktion :-)
Option Explicit
Sub aus()
Dim S
For S = 4 To 256
If Cells(4, S) <> "x" And Cells(4, S) <> "X" Then Columns(S).Hidden = True
Next S
End Sub
Function Summe2(Zellenbereich As Range)
Dim Z
For Each Z In Zellenbereich.Cells
If Columns(Z.Column).Hidden = False Then Summe2 = Summe2 + Z.Value
Next Z
End Function

Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
Bild

Betrifft: AW: zu 1/2
von: Andrew
Geschrieben am: 12.12.2006 17:35:59
Hallo Reinhard,
super, vielen Dank. Das klappt ausgezeichnet!
Viele Grüße
Andrew
Bild

Betrifft: AW: zu 1/2
von: Reinhard

Geschrieben am: 12.12.2006 17:29:26
Hi Andrew,
Korrektur, andrer Code blendet zuviele Spalten aus,also auch leere.
Option Explicit
Sub aus()
Dim S
For S = 4 To Cells(4, 256).End(xlToLeft).Column
If Cells(4, S) <> "x" And Cells(4, S) <> "X" Then Columns(S).Hidden = True
Next S
End Sub
Function Summe2(Zellenbereich As Range)
Dim Z
For Each Z In Zellenbereich.Cells
If Columns(Z.Column).Hidden = False Then Summe2 = Summe2 + Z.Value
Next Z
End Function

Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
Bild

Betrifft: Vielen Dank, läuft alles spitze!
von: Andrew
Geschrieben am: 12.12.2006 17:47:09
Hallo Reinhard,
Spitze, jetzt läuft alles super.
Ich danke dir ganz herzlich für deine Hilfe.
Viele Grüße
Andrew
 Bild
Excel-Beispiele zum Thema "Spalte ausblenden bei Bedingung"
Vorkommen von Zahlenreihen in Spalten Funktion ANZAHL2 ohne ausgeblendete Spalten
Spaltenbreite anpassen Spalten einer Mehrbereichsauswahl ausblenden.
Spaltennamen bestimmen Spalten/Zeilen aus- und einblenden
Zeilen und Spalten über ein Drehfeld ein- und ausblenden In einem Dialog ausgewählte Spalten drucken
Spalten bedingt summieren und Zellen formatieren Abfrage der markierten Spalten