Anzeige
Archiv - Navigation
1460to1464
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro Zeilen ein- u. ausblenden

Makro Zeilen ein- u. ausblenden
27.11.2015 08:29:19
Jessi
Hallo :)
Ich hab mal wieder ein Problem mit meinem Makro.
Das Makro hat mir hier jemand bereits geschrieben und es funktioniert auch richtig gut. Damit werden durch eine Tastenkombination Zeilen der Spalte F die einen NV-Fehler enthalten auf einigen Excel-Tabellenblätter ein- bzw. ausgeblendet.
Das Einblenden ist dazu da, wenn nachträglich noch etwas geändert wird. Ich hab gedacht, dass ich dann die Zeilen wieder einblende und dann erneut ausblende und die Änderungen dann sichtbar wären.
Leider funktioniert das nicht, die Zeile in der die Änderung steht bleibt trotzdem ausgeblendet.
Mein Makro:
Sub ZeilenAUSundEIN()
Dim ws As Worksheet
On Error Resume Next
Application.ScreenUpdating = False
For Each ws In ActiveWorkbook.Worksheets
ws.Unprotect "Passwort"
ws.Columns(6).SpecialCells(xlCellTypeFormulas, 16).EntireRow.Hidden = _
Not ws.Columns(6).SpecialCells(xlCellTypeFormulas, 16).EntireRow.Hidden
ws.Protect "Passwort"
Next
On Error GoTo 0
Kann mir da vielleicht jemand weiter helfen?
Vielen Dank im Voraus!
Gruß Jessi

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro Zeilen ein- u. ausblenden
27.11.2015 09:50:45
EtoPHG
Hallo Jessi,
Gefühlt ist das ungefähr dein 7ter Post zu diesem Thema ;-)
Vielleicht wäre es einfacher deinen Wunsch mal zu überdenken und umzuformulieren:
Beschreibung:
Ich mache in dem Bereich (ZelleVon, ZelleBis) manuelle Eingaben.
Dadurch verändern Sich im Bereich (ZelleVon, ZelleBis oder Spalte[n]) Werte die durch Formel ermittelt werden. Manche dieser Werte können den Fehlerwerte (z.B. #NV) auftreten.
Wunschvorstellung:
Wenn sich im Bereich (ZelleVon, ZelleBis oder Spalte[n]) die Resultatwerte von gültigem Wert auf Fehlerwert z.B. #NV verändert soll die ganze Zeile ausgeblendet werden. Ändert der Resultatwert von Fehlerwert z.B. #NV auf gültiger Wert soll die ganze Zeile eingeblendet werden.
Randbedingungen: Das Verhalten soll auf allen Tabellenblättern (mit Ausnahme des Tabellenblatts "Beschreibung") automatisch ausgeführt werden, wenn manuelle Änderungen im beschriebenen Bereich gemacht werden. Die Tabellenblätter sind mit einem Passwort "Passwort" geschützt.
Wenn das deiner Problem/Lösungsbeschreibung entspricht, teile uns nur die Bereich, wie oben beschrieben mit. Wenn nicht, ergänze entsprechend deinen Gegebenheiten und Vorstellungen den Text!
Gruess Hansueli

Anzeige
AW: Makro Zeilen ein- u. ausblenden
27.11.2015 10:13:47
Jessi
Vielen Dank für die Antwort, ich probiers mal ;)
Beschreibung:
Ich mache in 2 Tabellenblättern manuelle eingaben.
Dadurch verändern sich 40 andere Tabellenblätter in der Spalte E-K (Zeilen sind allerdings verschieden) in denen verschiedene Formeln stehen(Wenn-Formel, SVerweis)
In der Spalte F kann ein NV-Fehler auftreten.
Wunschvorstellung:
Wenn sich in der Spalte F (Zeilen verschieden) die Resultatwerte von gültigem Wert auf Fehlerwert (#NV) verändert soll die ganze Zeile ausgeblendet werden. Ändert der Resultatwert von Fehlerwert (#NV) auf gültiger Wert soll die ganze Zeile eingeblendet werden.
Randbedingungen: Das Verhalten soll auf allen Tabellenblättern (mit Ausnahme des Tabellenblatts 1-7) durch eine Tastenkombination (Strg + a) ausgeführt werden können. Die Tabellenblätter sind mit einem Passwort "Passwort" geschützt.

Anzeige
AW: Makro Zeilen ein- u. ausblenden
27.11.2015 10:35:52
EtoPHG
Hallo Jessi,
Das ist doch schon mal ein Ansatz.
Jetzt bitte die folgenden Fragen genau beantworten:
Welche Registernamen oder Index (zB. Tabelle4 und Tabelle6) haben die beiden Blätter auf denen du manuelle Eingaben machst?
Welche Bereiche (Zellenangaben!) veränderst du manuell in diesen beiden Blätter? Nur die Zellangaben aufführen, die zu Resultatsänderung in den restlichen (40) Blättern führen?
Heisst das 'Ausnahme'-Blatt "1-7" im Registernamen?
Warum willst du ein Strg+a Auslöser und nicht eine Lösung, bei der das automatisch, durch die manuellen Eingaben ohne zutun des Benutzers, durchgeführt wird?
Gruess Hansueli

Anzeige
AW: Makro Zeilen ein- u. ausblenden
27.11.2015 12:53:32
Jessi
Okay, erst einmal vielen Dank für deine Geduld ;)
Die Blätter heißen "Kontennachweis zur Bilanz" und "Kontennachweis zur GuV", da wird also eine Bilanz bzw. GuV kopiert und dort (in Spalte A-E) eingefügt. Und danach mit verschiedenen Formeln auf die 40 Blätter verknüpft.
Genaue Zellangaben kann ich nicht machen, da die Bilanz bzw. GuV immer unterschiedlich lang sind.
Die Blätter auf denen das Makro keine Zeilen ausblenden soll heißen: Vorgehensweise, Grundeinstellungen, fehlende Konten, doppelte Konten, Kontennachweis zur Bilanz, Kontennachweis zur GuV
Ich hatte schon mal ein automatisches Makro drin, aber da hat sich Excel komplett aufgehängt.
Mittlerweile hab ich allerdings noch ein Problem, da das Makro ja den Blattschutz kurzzeitig aufhebt speichert Excel irgendwie die Einstellungen nicht und das Dokument ist komplett geschützt (Die Nutzer sollen einen bestimmten Bereich Formatieren, sowie Zeilen einfügen und löschen können)
Gruß
Jessi

Anzeige
AW: Makro Zeilen ein- u. ausblenden
27.11.2015 16:20:48
EtoPHG
Hallo Jessi,
Versuchs mal mit diesem Code in DieseArbeitsmappe!
Dann einmal Excel schliessen/sichern und neu öffnen. Dann ausprobieren.
Option Explicit
Const sArrWS As String = "Kontennachweis zur Bilanz;Kontennachweis zur GuV;Vorgehensweise; _
Grundeinstellungen;fehlende Konten;doppelte Konten"
Const sInputRng As String = "A:E"
Const sFormulaRng As String = "E:K"
Const sPW = "Passwort"
Dim arrInpWS
Dim arrNoHideWS
Private Sub Workbook_Open()
Dim tmp
arrNoHideWS = Split(sArrWS, ";")
arrInpWS = Array(arrNoHideWS(0), arrNoHideWS(1))
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim ws As Worksheet, rngSC As Range, rRow As Range
Dim bDoit As Boolean
Dim ix As Integer
If Not (Sh.Name = arrInpWS(0) Or Sh.Name = arrInpWS(1)) Then Exit Sub
If Intersect(Target, Sh.Range(sInputRng)) Is Nothing Then Exit Sub
For Each ws In ThisWorkbook.Worksheets
bDoit = True
For ix = 0 To UBound(arrNoHideWS)
If ws.Name = arrNoHideWS(ix) Then
bDoit = False
Exit For
End If
Next ix
If bDoit Then
ws.Unprotect sPW
ws.UsedRange.EntireRow.Hidden = False
On Error Resume Next
Set rngSC = ws.Range("E:K").SpecialCells(xlCellTypeFormulas, 16)
On Error GoTo 0
If Not rngSC Is Nothing Then rngSC.EntireRow.Hidden = True
Set rngSC = Nothing
ws.Protect sPW
End If
Next ws
End Sub
Anpassungen musst du ev. nur die CONST Werte am Anfang des Codes
Gruess Hansueli

Anzeige
AW: Makro Zeilen ein- u. ausblenden
30.11.2015 11:40:53
Jessi
Vielen Dank! :)
Ich hab das jetzt mal ausprobiert aber irgendwie tut sich da gar nichts
Es kommt aber auch keine Fehlermeldung, ich hab das richtige Passwort eingetragen und die Const Werte am Anfang überarbeitet
Muss ich noch irgendwas beachten?
Gruß Jessi

AW: Makro Zeilen ein- u. ausblenden
30.11.2015 12:29:18
EtoPHG
Hallo Jessi,
1) Wohin hast du den Code kopiert?
2) Zeig mal deine angepassten Const Codezeilen (ohne Passwort, das interessiert mich nicht!)
3) Schliessen / Speichern, nach einer Codeänderung ist essentiell, da nur beim Neuöffnen die Blatt-Arrays richtig geladen werden!
Gruess Hansueli

Anzeige
AW: Makro Zeilen ein- u. ausblenden
02.12.2015 10:08:17
Jessi
Hallo,
ich habe den Code in DieseArbeitsmappe kopiert
Die Const Zeilen sehen so aus:
Const sArrWS As String = "Kontennachweis zur Bilanz;Kontennachweis zur GuV;Vorgehensweise;Grundeinstellungen;fehlende Konten;doppelte Konten;Checkliste;Fragen;Kontenrahmen SKR 03; Kontenrahmen SKR 04; Zwischentabelle"
Const sInputRng As String = "A:E"
Const sFormulaRng As String = "E:K"
Const sPW = "Passwort"
Ich habe jetzt erst einmal den Blattschutz raus und verwende die Datei so, ich glaube dass es ein ziemlich komplexes Problem ist und ich das vielleicht auch nicht richtig erklären kann.
Aber trotzdem vielen vielen Dank für deine Hilfe und Geduld!
Gruß
Jessi

Anzeige
AW: Makro Zeilen ein- u. ausblenden
27.11.2015 10:05:41
Rudi
Hallo,
test mal:
Sub ZeilenAUSundEIN()
Dim ws As Worksheet, rngERROR As Range
Application.ScreenUpdating = False
For Each ws In ActiveWorkbook.Worksheets
ws.Unprotect "Passwort"
On Error Resume Next
Set rngERROR = ws.Columns(6).SpecialCells(xlCellTypeFormulas, 16)
On Error GoTo 0
If rngERROR Is Nothing Then
ws.Rows.Hidden = False  'keine Fehler
Else
rngERROR.EntireRow.Hidden = Not rngERROR.EntireRow.Hidden
End If
Set rngERROR = Nothing
ws.Protect "Passwort"
Next
End Sub
Gruß
Rudi

AW: Makro Zeilen ein- u. ausblenden
27.11.2015 10:25:39
Jessi
Vielen Dank für deine Antwort Rudi!
Ich bekomme allerdings folgende Fehlermeldung:
Laufzeitfehler: Das eingegebene Kennwort ist ungültig...
Ich habe das Kennwort auf das richtige geändert, also daran dürfte es eigentlich nicht liegen
Gruß Jessi
Anzeige

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige