PDA

Vollständige Version anzeigen : suche Zelle, .End(xlUp).Row + 1


Burzl89
05.10.2016, 13:17
Hallo Freunde,

ich habe mehrere Tabellen untereinander stehen. (jeweils eine Leerzelle dazwischen)

Ich benötige ein Makro, das mir in Spalte B zunächst den Tabellenkopf "Problemspeicher" sucht.
z.B.
Set Treffer = Worksheets("Herr A").Columns(2).Find("*Problemspeicher*", LookIn:=xlValues)

im zweiten schritt soll es mir von dieser gefundenen Zelle die letzte beschriebene Zelle (besser wäre sogar die letzte formatierte Zelle, d.h. es muss nix drinnen stehen, hauptsache die Zelle ist umrandet) finden.

Von dieser gefunden Zelle + 1 soll es mir eine neue Zeile einfügen für Spalte A - C.

Ich hoffe ihr versteht mein anliegen und könnt behilflich sein.

VG und Danke
Burzl89

R J
05.10.2016, 13:35
Hi Burzel,

ich habe mehrere Tabellen untereinander stehen. (jeweils eine Leerzelle dazwischen)

Meintest Du damit als Listobjekt formatierte Tabellen? Dann kannst Du Dir die ganze Sucherei doch ersparen. Sprich sie doch einfach über ihren Namen an...
Ansonsten.... häng doch mal eine Beispieldatei an...

Burzl89
06.10.2016, 07:54
Hier die Bsp. Datei

erpe
06.10.2016, 08:30
Hallo,
es ist sicher richtig, dass man bestimmte Sachen auch vom Ende her denkt!
In deinem Fall erschwert es die Lösung aber sehr.
Du bist von deiner vorgegebenen Formatierung blockiert.

Du solltest zuerst die Daten erfassen, dann diese Daten (jetzt weißt du auch wieviele es sind) auf die einzelnen Blätter verteilen.
Anschließend kannst Du sie formatieren, wie du willst.

Gruß
Rainer

R J
06.10.2016, 21:58
...da muss ich dem Rainer Recht geben. Die "Konfiguration" der Daten ist suboptimal. Grob überblickt ergibt sich folgende Konstellation für mich. Du hast:

Personen
Themen
Aufgaben
Probleme

Wobei ich nicht weiß, inwiefern sich Themen; Probleme und Aufgaben unterscheiden. Gut, man kann bestimmte Probleme bestimmten Themen unterordnen, aber die Aufgabe sollte ja immer die Behebung eines Problems sein. Dann wäre die Tabelle Aufgaben sozusagen das 'Auftragsblatt', in welchem vermerkt wird, welcher Mitarbeiter wann und wo welches Problem zu beheben hat.
Wie dem auch sei, ich würde diese 4 Tabellen erstellen und sie über eine eindeutige ID miteinander in Beziehung bringen. Oder... gleich eine DB anlegen...

Burzl89
07.10.2016, 09:21
Hallo,

Danke für eure Kritik.
Ihr stellt euch das wahrscheinlich zu komplex vor.

Jedes Blatt dient einen Mitarbeiter. Dort kann dieser sich aufgaben und Probleme einfügen. Themen werden übergeordnet aus den Themenspeicher auf Mitarbeiter zugeteilt und dementsprechend in die Mitarbeitersheets eingetragen.

Wieviel Wo steht kann sich zu jederzeit ändern.
Das einzig beständige sind die Tabellenköpfe.

R J
07.10.2016, 12:45
Ihr stellt euch das wahrscheinlich zu komplex vor.

...smile.... oder Du zu simpel? :)

Auch wenn mir das so nicht gefällt, hab Dir für Herr B mal ein Beispiel erstellt.


Intelligente Tabellen erstellt
Namen entsprechend geändert
Für tabAufgabenB eine Ergebniszeile zugelassen
Tabellen tabThemenB und tabProblemB nebeneinander gestellt
linken Button geändert umbenannt in cmdAufgabeB
Code dafür geändert
neues Modul (mListobjects) mit entsprechenden Funktionen und Prozeduren erstellt


Im Prinzip brauchst Du jetzt "nur" :D noch das gleiche mit allen anderen Herren- und Damenblättern machen. Und auch da dann die Codes für deren Buttons anpassen.