Bitte um eure Hilfe!

Bild

Betrifft: Bitte um eure Hilfe! von: Mike
Geschrieben am: 08.02.2005 13:52:12

Hallo Ex(cel)perten!
Ich möchte das wenn sich der Wert oder das Wort in spalte A ändert (von der einen auf die nächste Zeile), dass sich der ganze nachfolgende Zellbereich um 2 Zeilen nach unten verschiebt (samt Inhalt natürlich). Dies möchte ich mit einer verschachtelten Wenn Funktion lösen, wobei dann natürlich diese "Verschiebefunktion" noch von mir erstellt werden muss. Aber da ich keine Ahnung von VBA habe, kann ich das ohne euer Hilfe nicht lösen!
Hoffe das ich mich verständlich ausgedrückt habe! Danke im Voraus!

Bild


Betrifft: AW: Bitte um eure Hilfe! von: Luc
Geschrieben am: 08.02.2005 20:37:02

Hallo Mike,
da hast du dir ja was vorgenommen! Wenn du nicht nur nackte Dauerdaten im unteren Zellbereich hast, die du in deine Formeln integrieren kannst, erreichst du höchstens mit einer Hilfsspalte, in der die zu verschiebenden Daten an festen Plätzen stehen, was. Das wäre dann allerdings eine wenig elegante Lösung bei der du wahrscheinlich INDIREKT() brauchst, damit du anders auf die Daten zugreifen kannst. Das Problem kann dann so dargestellt werden als ob sich die Datenquelle verschieben würde. Bleibt evtl noch das Problem an der Stelle, wo diese Formelzellen an die "Kopfzellen" von Spalte A stoßen; du willst ja sicher mit den "frei" gewordenen Zellen irgendwas machen.
Ansonsten hier mal ein Ansatz:
wert(A1) --> wert(A2) --> wert(A3) --> wert(A5) -->...--> wert(An) --> wert(An+2)
ab wert(A3)ff nun alles nach wert(H3) und in A3ff steht formel(A3)ff mit Zugriff auf wert(H3)ff (primär A3=H3). Jetzt tritt der geschilderte Fall ein, dann passiert Folgendes:
formel(A3)="" ... formel(A4)="" ... formel(A5)=H3 usw.
bedingung sei der Auslöser für die Anzeigeverschiebung von A1 --> A2, dann gilt:
formel(A3) ist wenn(bedingung=wahr, dann H1, sonst H3) für H1=""
formel(A4) ist wenn(bedingung=wahr, dann H2, sonst H4) für H2=""
formel(A5) ist wenn(bedingung=wahr, dann H3, sonst H5)
usw.
Damit erreichst du einen verschiebungsähnlichen Effekt, wie gesagt, wenn sich das unter deinen Bedingungen so realisieren lässt. In diesem Fall (mit Hilfsspalte) bräuchtest du auch nicht die Funktion INDIREKT().
Eleganter geht das natürlich alles mit VBA, aber dazu müssten Ereignisprozeduren geschrieben wdn und das ist nichts für VBA-Anfänger wegen ungewollter Nebeneffekte, wenn man nicht ganz sauber programmiert. Der übliche Ablauf beim VBA-Erlernen wäre:
1.mit dem Makrorecorder probieren
2.alles Neue in der Hilfe des Editors nachschlagen
3.in Abhängigkeit vom Vorhandensein von Programmiergrundkenntnissen (Steuerungsmittel einer PgmSprache) evtl Fachbuch kaufen
4.sich so allmählich durch das ganze Objektmodell von VBA hangeln, und zwar ein Schritt nach dem andern. VBA ist eine vollwertige objektorientierte Programmiersprache auf der Basis von BASIC und nicht irgendeine Makroaufzeichnungssprache! Das ist seit xl5.0 vorbei! Das scheinen viele nicht zu wissen, die sich aus dem Netz eklektizistisch irgendwelchen Code zusammenklauben und sich damit an die kompliziertesten Aufgaben wagen.
Probier's mal, immer schön der Reihe nach!
Schönen Abend Luc


Bild


Betrifft: AW: Bitte um eure Hilfe! von: Mike
Geschrieben am: 09.02.2005 08:01:51

@Luc

Vielen dank für deine Hilfe!

Werde mich dann mal ans stricken machen! ;)


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Ordner verschieben"