ich habe folgendes Makro, das ich gerne erweitert hätte. Die Zeilen 80:82 sollen ausgeblendet werden, wenn 0 oder wenn Empty (leer). Ich möchte ich das Makro so erweitern, dass die Zeilen auch bei dem Wert "n.Aufw." ausgeblendet wird.
Wäre schön, wenn mir hier jemand behilflich sein könnte.
Danke und VG
Micha L.
Sub ausblenden_drucken1()
Dim intZeile As Integer
Dim strDrucken As String
'Wenn etwas im Bereich $C$20:$BF$104; $AE$141 (dem habe ich den Namen "Dateneingabe" gegeben)
'etwas eingetragen bzw. geändert wird:
With Worksheets("Ergebnisrechnung M1")
'Blattschutz aufheben:
.Unprotect
'alle Zeilen einblenden:
.Range("10:93").EntireRow.Hidden = False
'Zeilen 80 und 77 (Pauschalbeträge), wenn in Spalte T eine Null steht,
'diese und die nächsten zwei Zeilen ausblenden:
If .Cells(80, 20) = 0 Or IsEmpty(.Cells(80, 20)) Then
.Range("80:82").EntireRow.Hidden = True
Else
.Range("80:82").EntireRow.Hidden = False
End If
If .Cells(77, 20) = 0 Or IsEmpty(.Cells(77, 20)) Then
.Range("77:79").EntireRow.Hidden = True
Else
.Range("77:79").EntireRow.Hidden = False
End If
'Zeilen von 73 - 37 rückwärts durchgehen und wenn in Spalte T eine Null steht,
'diese und die nächsten drei Zeilen ausblenden:
For intZeile = 73 To 37 Step -4
Select Case intZeile
Case 41, 45, 53, 57, 65, 69
If .Cells(intZeile, 20) = 0 Or IsEmpty(.Cells(intZeile, 20)) Then
.Range(intZeile & ":" & intZeile + 3).EntireRow.Hidden = True
Else
.Range(intZeile & ":" & intZeile + 3).EntireRow.Hidden = False
End If
End Select
Next intZeile
'Zeilen von 37 - 10 rückwärts durchgehen und wenn in Spalte T eine Null steht,
'diese und die nächsten zwei Zeilen ausblenden:
For intZeile = 37 To 10 Step -3
Select Case intZeile
Case 13, 16, 22, 25, 31, 34
If .Cells(intZeile, 20) = 0 Or IsEmpty(.Cells(intZeile, 20)) Then
.Range(intZeile & ":" & intZeile + 2).EntireRow.Hidden = True
Else
.Range(intZeile & ":" & intZeile + 2).EntireRow.Hidden = False
End If
End Select
Next intZeile
If Worksheets("Eingabemaske M1").Range("AE141") = "" Then
.Range("93:93").EntireRow.Hidden = True
Else
.Range("93:93").EntireRow.Hidden = False
End If
strDrucken = MsgBox("Soll die Ergebnisrechnung jetzt 1 x gedruckt werden?", vbYesNoCancel, " _
Ergebnis drucken")
If strDrucken = vbYes Then
'Bereich drucken:
Sheets("Ergebnisrechnung M1").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Sheets("Eingabemaske M1").Select
End If
'Blattschutz setzen:
.Protect
End With
End Sub