Microsoft Excel

Herbers Excel/VBA-Archiv

Autofilter anpassen

Betrifft: Autofilter anpassen von: Lizzel Mizzel
Geschrieben am: 14.10.2020 11:55:44

Hallo zusammen,

ich habe zwei (eigentlich drei) Themen:

1.) Ich hab meine Suchfunktion etwas anpassen müssen. Das Element in "WartungskarteErstellen" wird nun in einer eignen Spalte in "Wartungsaufgabe" gesucht. Beim Kopieren des gesuchten Inhalts kopiert er mir aber die Spalte Element mit. Diese brauche ich aber nur für den Filter.

Wie kann ich hier den Bereich zum Kopieren anpassen?

2.) Da nun alles auf eine A4 Seite passen muss und diese noch leserlich bleiben soll, darf ich nur 23 Zeilen belegen (also in "Wartungskarte" A30:A52). Sollte ich mehr Aufgaben haben, soll ein weiteres Blatt erstellt werden (der Inhalt des Kopfes zieht bleibt gleich, Blatttitel muss sich ändern).

Wie stelle ich das am Besten an?

Ideal wäre natürlich das, bevor er die neue Mappe öffnet, eine UserForm aufpoppt, die Anzahl der Blätter anzeigt und nach dem neuen Blattnamen fragt. Aber das wäre nur ein Goodie.

Zusatz: 3.) Ideal wäre noch wenn elektrische und mechanische Aufgaben auf verschiedene Blätter verteilt werden.

https://www.herber.de/bbs/user/140882.xlsm

Schon mal vorab ein Dankeschön für eure Unterstützung

Gruß Lars

Betrifft: AW: Autofilter anpassen
von: Luschi
Geschrieben am: 14.10.2020 18:18:19

Hallo Lars,

diese Vba-Zeile
Worksheets("Wartungsaufgaben").Range("A10:J" & Worksheets("Wartungsaufgaben") _
            .Cells(Rows.Count, "F").End(xlUp).Row)
mußt man so ändern:

Worksheets("Wartungsaufgaben").Range("A9:J" & Worksheets("Wartungsaufgaben") _
.Cells(Rows.Count, "F").End(xlUp).Row)
da der Autofilter die 1. Zelle (hier A10) sonst als Überschriften-Zelle behandelt.
Aber trotzden wundere ich mich, daß
- in der Spalte 'F' alle Elementwerte hinten dran 1 Leerzeichen haben
- das Du dann doch im Code eliminierst
- loAnz ist bei 1 Leerzeichen hinten dran = 1
- die darauf folgende Schleife: For z = 0 To loAnz
  beginnt aber bei '0'
- und dadurch wird der Suchbegriff 'Hydraulik' zu '*Hydraulik**'

Gruß von Luschi
aus klein-Paris

Betrifft: AW: Autofilter anpassen
von: Lizzel Mizzel
Geschrieben am: 15.10.2020 13:23:29

Guten Morgen Luschi,

Leerzeichen hab ich entfernt, einen (dadurch ausgelösten) Fehler hab ich so noch nicht bemerkt.
diese Vba-Zeile
Worksheets("Wartungsaufgaben").Range("A10:J" & Worksheets("Wartungsaufgaben") _
            .Cells(Rows.Count, "F").End(xlUp).Row)
mußt man so ändern:


Worksheets("Wartungsaufgaben").Range("A9:J" & Worksheets("Wartungsaufgaben") _

            .Cells(Rows.Count, "F").End(xlUp).Row)
Das beantwortet meine Frage nicht wirklich. Die Suchbegriffe, die im ersten Blatt stehen, standen früher im zweiten Blatt vor den auszuführenden Arbeiten. Um Platz in der Zeile zu sparen, hab ich den Suchbegriff in eine andere Spalte gezogen. Diese Spalte benötige ich aber in meiner fertigen Wartungskarte nicht und ich will diese nicht mit kopieren. Meine Frage ist also wie ich nur die Spalten A:E und G:K kopiere ohne die Spalte F.

Danke für deine Hilfe!