Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Fehler in Makro

Forumthread: Fehler in Makro

Fehler in Makro
02.07.2015 13:21:56
Michael
Hallo Zusammen,
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

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehler in Makro
02.07.2015 13:37:08
UweD
Hallo
ungetestet....
  If .Cells(80, 20) = 0 Or IsEmpty(.Cells(80, 20)) Or .Cells(80, 20) = "n.Aufw." Then
Gruß UweD
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige