Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
560to564
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
560to564
560to564
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Bitte um eure Hilfe!

Bitte um eure Hilfe!
08.02.2005 13:52:12
Mike
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!

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bitte um eure Hilfe!
Luc
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) --&gt wert(A2) --&gt wert(A3) --&gt wert(A5) --&gt...--&gt wert(An) --&gt 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 --&gt 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
Anzeige
AW: Bitte um eure Hilfe!
09.02.2005 08:01:51
Mike
@Luc
Vielen dank für deine Hilfe!
Werde mich dann mal ans stricken machen! ;)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige