Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Ausblenden Zeile in bestimmtem Bereich über Makro
#1
Hallo,

ich bin absoluter Anfänger im Makro / Programmierungsbereich... daher ganz offen gefragt:

Wie muss ich folgendes Makro abändern, sodass es nur in dem ersten Tabellenblatt (Name: "Protokoll") & nur in dem Zellbereich A9:K109 ganze Zeilen ausblendet, in denen die Spalte C leer ist?

Ursprüngliches Makro:

Sub FehlerUndLeereAusblenden()
    Dim wksBlatt As Worksheet
   
    On Error Resume Next
    For Each wksBlatt In ThisWorkbook.Worksheets
      wksBlatt.Cells(1, 1).CurrentRegion.AutoFilter Field:=3, Criteria1:="<>#N/A"
    Next wksBlatt
    On Error GoTo 0
End Sub


Vielen Dank!!!!
Antworten Top
#2
Hallo Lars,
Sub ProtokollLeereAusblenden()
On Error Resume Next
Worksheets("Protokoll").Range("A9:K109").AutoFilter Field:=3, Criteria1:="<>"
On Error GoTo 0
End Sub
Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • Lars1904
Antworten Top
#3
Leere Zeilen blendet er damit aus, allerdings leider nicht in dem angegebenen Bereich sondern über das ganze Tabellenblatt :(

Mein Wunsch wäre es nur in Zeile 9-109 nach leeren Werten in Spalte C zu suchen. Geht das?

Gibt es vielleicht noch eine andere Idee?
Antworten Top
#4
(10.04.2018, 14:21)Lars1904 schrieb: Leere Zeilen blendet er damit aus, allerdings leider nicht in dem angegebenen Bereich sondern über das ganze Tabellenblatt :(

Es können nur komplette Zeilen ausgeblendet werden, falls Du das meintest. Das ist einfach so!

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • Lars1904
Antworten Top
#5
Komplette Zeilen auszublenden ist richtig und auch gewünscht. Aber eben nur für die Zeilen 9 bis 109...

Anders gesagt, sollten die Zeilen 1 bis 8 und 110 bis unendlich mit leeren Wert in C über das Makro nicht ausgeblendet werden.

Die Zeilen 9 bis 109 sollten mit leeren Wert in C jedoch schon komplett ausgeblendet werden.



Der oben angegebene Text blendet bei mir in der Tabelle alle Zeilen mit leerem Wert in C aus und eben nicht bloß die Zeilen 9 bis 109.


Ich hoffe es ist verständlich was ich vorhabe...

Danke und Gruß Lars
Antworten Top
#6
Hallo Lars,

ich habe jetzt mal ein bisschen rumgespielt und das Problem nun manchmal auch gehabt, dass sich der AF-Bereich automatisch (ungewollt) erweitert. Auch bei manuellem Einschalten des AF. Es liegt also nicht daran, dass es per VBA gesteuert wird.

Dazu habe ich leider auch keine Idee. Blush

Gruß Uwe
Antworten Top
#7
Hallo Lars,

in welchem Bereich befinden sich deine Daten? Wo ist deine Überschriftenzeile? Falls die Überschriften sich in Zeile 9 befinden, könntest Du es mal so versuchen

Code:
Sub ProtokollLeereAusblenden()
  Dim vntBereich As Variant
  Dim lngZeile As Long
  
  
  On Error Resume Next
  With Worksheets("Protokoll")
    lngZeile = .Cells(.Rows.Count, 1).End(xlUp).Row
    If lngZeile > 109 Then
      vntBereich = .Range("A110:K" & lngZeile).Value
      .Range("A110:K" & lngZeile).ClearContents
    End If
    .Range("A9:K109").AutoFilter Field:=3, Criteria1:="<>"
    If Not IsEmpty(vntBereich) Then .Range("A110").Resize(lngZeile - 109, 11).Value = vntBereich
  End With
  On Error GoTo 0
End Sub
Gruß Stefan
Win 10 / Office 2016
[-] Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:
  • Lars1904
Antworten Top
#8
Hallo Steffl,

ich habe mal eine anonymisierte Datei mit hochgeladen.

Zur Erklärung: Die Themen

1.1    Thema 1
1.2    Thema 2
1.3    Thema 3
... etc. ...

werden manuell eingetragen.

Ich möchte in diesem Fall gerne per Knopfdruck (Makro?) die Zeilen im Bereich 9 bis 109 ausblenden in denen in der Spalte G nichts steht, da die restlichen Zeilen lediglich als Platzhalter dienen und es nur in seltenen Fällen so viele Tagespunkte gibt. Wichtig ist, dass dadurch der untere Bereich ab Zeile 110 unverändert bleibt.



Anders formuliert:

Falls eine Tagesordnung nur aus...
1.1    Thema 1    [in Zeile 11]
1.2    Thema 2    [i][in Zeile 12][/i]
1.3    Thema 3   [i] [in Zeile 13]
[/i]...besteht, sollen bei Knopfdruck nur noch die Zeilen 11, 12 und 13 in dem Bereich (9-109) stehen bleiben und alle anderen (also: 9 + 10 & 14 bis 109) automatisch ausgeblendet werden...


Ich hoffe mein Anliegen wird dadurch klarer...

Vielen lieben Dank!


PS: Der untere Teil (ab Zeile 110) bedarf keiner weiteren Bearbeitung. Hierfür habe ich bereits für die gegebenen Zwecke ein passendes Makro.


Angehängte Dateien
.xlsm   Vorstandssitzungen_anonym.xlsm (Größe: 79,29 KB / Downloads: 4)
Antworten Top
#9
Hallo Lars,

da passe ich.
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#10
Hallöchen,

hier geht es doch um das:
http://www.clever-excel-forum.de/thread-...#pid116971
nur mit ein paar Zeilen mehr?
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


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