Code vereinfachen

Bild

Betrifft: Code vereinfachen
von: Luca Meier
Geschrieben am: 17.09.2015 15:00:16

Hallo zusammen
ich habe einen Code für einen Chart geschrieben, in welchem er in Abhängigkeit davon ob in einer Zelle ein Wert steht oder nicht, eine betreffende Spalte auf einem anderen Blatt aus- bzw. eingeblendet wird. Jedoch weiss ich nicht wie ich dies vereinfachen soll, da ich nicht weiss, ob man "offset" auch für Spalten bzw. wie machen soll. Hier der Codeschnipsel

If Sheets("Inputs").Range("E8") = NV Then
Sheets("Berechnungen").Columns("B:B").Hidden = True
Else
Sheets("Berechnungen").Columns("B:B").Hidden = False
End If
If Sheets("Inputs").Range("E9") = NV Then
Sheets("Berechnungen").Columns("C:C").Hidden = True
Else
Sheets("Berechnungen").Columns("C:C").Hidden = False
End If
If Sheets("Inputs").Range("E10") = NV Then
Sheets("Berechnungen").Columns("D:D").Hidden = True
Else
Sheets("Berechnungen").Columns("D:D").Hidden = False
End If
If Sheets("Inputs").Range("E11") = NV Then
Sheets("Berechnungen").Columns("E:E").Hidden = True
Else
Sheets("Berechnungen").Columns("E:E").Hidden = False
End If
If Sheets("Inputs").Range("E12") = NV Then
Sheets("Berechnungen").Columns("F:F").Hidden = True
Else
Sheets("Berechnungen").Columns("F:F").Hidden = False
End If
If Sheets("Inputs").Range("E13") = NV Then
Sheets("Berechnungen").Columns("G:G").Hidden = True
Else
Sheets("Berechnungen").Columns("G:G").Hidden = False
End If
If Sheets("Inputs").Range("E14") = NV Then
Sheets("Berechnungen").Columns("H:H").Hidden = True
Else
Sheets("Berechnungen").Columns("H:H").Hidden = False
End If
If Sheets("Inputs").Range("E15") = NV Then
Sheets("Berechnungen").Columns("I:I").Hidden = True
Else
Sheets("Berechnungen").Columns("I:I").Hidden = False
End If
If Sheets("Inputs").Range("E16") = NV Then
Sheets("Berechnungen").Columns("J:J").Hidden = True
Else
Sheets("Berechnungen").Columns("J:J").Hidden = False
End If
If Sheets("Inputs").Range("E17") = NV Then
Sheets("Berechnungen").Columns("K:K").Hidden = True
Else
Sheets("Berechnungen").Columns("K:K").Hidden = False
End If
If Sheets("Inputs").Range("E18") = NV Then
Sheets("Berechnungen").Columns("L:L").Hidden = True
Else
Sheets("Berechnungen").Columns("L:L").Hidden = False
End If

Danke im Voraus :)

Bild

Betrifft: AW: Code vereinfachen
von: Matthias
Geschrieben am: 17.09.2015 15:03:56
Hallo Luca,
probier es mal mit einer Schleife:

For x = 2 to 12
If Sheets("Inputs").Range("E" & x+6) = NV Then
 Sheets("Berechnungen").Columns(x).Hidden = True
 Else
 Sheets("Berechnungen").Columns(x).Hidden = False
 End If
Next x
lg Matthias

Bild

Betrifft: AW: Code vereinfachen
von: Rudi Maintaire
Geschrieben am: 17.09.2015 15:08:22
Hallo,


  Dim i As Integer
  For i = 8 To 18
    Sheets("Berechnungen").Columns(i - 2).Hidden _
      = Sheets("Inputs").Cells(i, 5) = NV
  Next i

Gruß
Rudi

Bild

Betrifft: AW: Code vereinfachen
von: Luca Meier
Geschrieben am: 17.09.2015 15:13:05
Vielen Dank, auf dieses "=" bin ich nicht gekommen, danke :)

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Code vereinfachen"