Spalten mit Bedingung ausblenden
#1
allo liebe Excel Gemeinde,

ich bin neu hier und habe eine Frage bzw. ein Problem mit VBA :)

Ich bin leidenschaftlicher Anno-Spieler (falls jemand das Spiel kennt). Regelmäßige bastel ich mir Hilfstools in Excel um die Komplexität zu beherrschen. Beim aktuellen Titel ist das etwas schwer, weil viele Parameter zu berücksichtigen sind. Ich hab das ganze recht gut hinbekommen in Excel, allerdings bleibt ein Thema offen: Ich möchte jene Produktionsgüter ausblenden, wo es keinen Bedarf gibt.

Konkret bedeutet das: Es gibt in der Arbeitsmappe "Inselbilanz_Produktion" 10 Zeilen (Zeile 4-13) mit Inselnamen. Dann gibt es Spalten mit den entsprechenden Berechnungen zur Optimierung. (Spalte J-M als Beispiel für das Produktionsgut Fisch) Wenn nun in der Spalte K4 bis K13 überall 0 steht, dann sollen J-M ausgeblendet werden. Die gleiche muss ich dann für andere nun kopieren, oder?:

Wenn K4-K13 = 0, dann J-M ausblenden
Wenn O4-O13 = 0, dann N-R ausblenden
Wenn T4-T13 = 0, dann S-W ausblenden
usw...

Ist das möglich bzw. weiß zufällig jemand die Lösung?

Vielen lieben Dank im Voraus.


Angehängte Dateien
.xlsx   Vorl_191023_Anno_1800_Rechner - Kopie.xlsx (Größe: 1,28 MB / Downloads: 4)
Top
#2
Hallo

so?



Code:
Sub TT()
   
   'Wenn die Differenz =0 ist, ist das Ergebnis = True
   'also Hidden=True
   
   Columns("J:M").Hidden = (Range("K4") - Range("K13")) = 0
   Columns("N:R").Hidden = (Range("O4") - Range("O13")) = 0
   Columns("S:W").Hidden = (Range("T4") - Range("T13")) = 0
   '...
   
End Sub


LG UweD
Top
#3
PHP-Code:
Sub M_snb()
    Columns("J:M").Hidden = [sum(K4:K13)=0]
End Sub 
oder
PHP-Code:
Sub M_snb()
    
Columns("J:M").Hidden = [iserr(1/sum(K4:K13))]
End Sub 
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Top
#4
Danke erstmal für den Input :)

Er funktioniert, dass die Spalten ausgeblendet werden. Jedoch muss ich das Makro immer manuell ausführen. Gibt es eine Möglichkeit, dass es immer ausgeführt wird wenn ich irgendwas in der Arbeitsmappe ändert?

Danke!
Top
#5
hallo nochmal


man könnte das Change Event nutzen

- Rechtsclick auf den Tabellenblattreiter
- Code anzeigen
- rechts dann den Code rein


Code:
Private Sub Worksheet_Change(ByVal Target As Range)

  Columns("J:M").Hidden = (Range("K4") - Range("K13")) = 0
  Columns("N:R").Hidden = (Range("O4") - Range("O13")) = 0
  Columns("S:W").Hidden = (Range("T4") - Range("T13")) = 0
  '...
End Sub

LG UweD
Top
#6
Es funktioniert. Vielen vielen Dank, bin sehr happy darüber :) Problem gelöst.
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste