1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

2. Versuch fürs Exceltabellenwertherausholproblem

Dieses Thema im Forum "Office:Mac" wurde erstellt von chrisbiolog, 23.05.07.

  1. chrisbiolog

    chrisbiolog Becks Apfel (Emstaler Champagner)

    Dabei seit:
    13.11.06
    Beiträge:
    329
    Nachdem mein Thema AppleSkript für Excel keine Antwortflut nach sich zog, versuch ichs nochmal leicht verändert. Ich denke es geht vielleicht auch wenn man ein Makro schreibt.
    Hier also nochmal selbiges Problem mit Excel für Mac 2004:

    Ich habe eine sehr lange Tabelle (800 Seiten) mit Zahlenwerten. In dieser Tabelle befinden sich die von mir gewollten Daten in einer Diagonalen Linie über 800 Seiten. Wie kann ich es mit einem Makro bewerkstelligen, dass mir nur diese Werte auf einem anderen Arbeitsblatt ausgegeben werden?
    Was ich nicht herausfinden kann ist, ob man die Tabellenfelder (Zellen) als eine "Abhängigkeit" darstellen kann wie z.B. Der 1.Wert ist in A1, zweiter Wert B1+1 (also B2). So in der Art nur dass halt A und B auch noch durch Zahlen ersetzt werden sollten, so dass ich mit einem recht kurzen Makro ohne jede Zelle einzeln von Hand ansprechen zu müssen, alle Werte auf einem anderen Sheet ausgeben lassen kann.

    Sollte jemand nicht verstehen was ich meine dürft Ihr gerne nachfragen.

    Hoffe diesmal gibts ein paar mehr Antworten.
     
  2. quarx

    quarx Hadelner Sommerprinz

    Dabei seit:
    17.04.05
    Beiträge:
    8.541
    Schreib mal in die Zellen der ersten Spalte auf dem zweiten Blatt die Formel
    Code:
    =INDEX(<Bereich>;CELL("row");CELL("row"))
    Das sollte die Diagonale extrahieren, tut's zumindest bei meinem Ooo. Mit <Bereich> ist der Matrixbereich gemeint, aus dem Du die Diagonale entnehmen willst.
     
  3. chrisbiolog

    chrisbiolog Becks Apfel (Emstaler Champagner)

    Dabei seit:
    13.11.06
    Beiträge:
    329
    Meinst Du die erste Zelle oder Zellen des 2. Blattes meiner Datenmatrix?
    Und den Bereich sol ich als A1-X800 hineinschreiben?

    Danke schon mal und was ist eigentlich Ooo?
     
  4. quarx

    quarx Hadelner Sommerprinz

    Dabei seit:
    17.04.05
    Beiträge:
    8.541
    Ooo = OpenOffice.org ;)

    Ein Bildchen sagt mehr als 1000 Worte:
    [​IMG]
    In allen drei Zellen E1 bis E3 steht die Formel
    Code:
    =INDEX($A$1:$C$3;CELL("row");CELL("row"))
    drin. Das musst Du natürlich für Deine Zwecke entsprechend anpassen.

    Zur Erläuterung: Mit CELL("row") holt man sich die Zeilennummer der aktuellen Zelle. Mit INDEX kann man Zellenreferenzen innerhalb eines Bereichs zusammenbauen, mittels Zeilen-/Spaltennummer. Auf der Diagonale sind diese natürlich gleich.
     
  5. chrisbiolog

    chrisbiolog Becks Apfel (Emstaler Champagner)

    Dabei seit:
    13.11.06
    Beiträge:
    329
    Also mein Befehl sähe jetzt so aus: =INDEX(Tabelle1!ZS+Tabelle1!Z(41)S(5)+Tabelle2!Z(41)S(5);CELL("row");CELL("row"))
    da ichs von Tabelle1 in Tabelle2 kopieren lassen wollte.
    Funktionieren tuts natürlich nicht.
    Weitere Tipps?
     
  6. chrisbiolog

    chrisbiolog Becks Apfel (Emstaler Champagner)

    Dabei seit:
    13.11.06
    Beiträge:
    329
    Sorry Deine Antwort zu spät gesehen.
    Nächster Versuch.
     
  7. chrisbiolog

    chrisbiolog Becks Apfel (Emstaler Champagner)

    Dabei seit:
    13.11.06
    Beiträge:
    329
    Dann steht bei mir in den Zellen, also bei deinem Beispiel E1 bis E3: #Name!
     
  8. quarx

    quarx Hadelner Sommerprinz

    Dabei seit:
    17.04.05
    Beiträge:
    8.541
    Kann sein, dass Du bei Excel die Semikolons Semikola durch Kommas Kommata ersetzen musst, bin mir aber nicht sicher. :innocent:
     
  9. chrisbiolog

    chrisbiolog Becks Apfel (Emstaler Champagner)

    Dabei seit:
    13.11.06
    Beiträge:
    329
    Das scheint nicht der Fehler zu sein. Die gewählte Datenmatrix wird erkannt, aber mit dem Nachfolgenden stimmt was nicht. Wenn ich Kommas reinmache kommt eine Fehlermeldung. Was macht denn dieses Cells? Heisst das vielleicht anders in Excel? Kanns nirgendwo finden.

    Übrigens meines Wissens darf man laut Duden auch Kommas und Semikolons sagen bzw. schreiben, falls nicht dann Asche auf mein Haupt.
     
  10. chrisbiolog

    chrisbiolog Becks Apfel (Emstaler Champagner)

    Dabei seit:
    13.11.06
    Beiträge:
    329
    Schon wieder sorry, hab Deine Erklärung oben für CELLS überlesen.
     
  11. quarx

    quarx Hadelner Sommerprinz

    Dabei seit:
    17.04.05
    Beiträge:
    8.541
    CELL müsste das heißen, ohne s. Schreib doch in eine X-beliebige Zelle einfach mal
    Code:
    =CELL("row")
    rein. Kommt dann bei Dir auch die entsprechende Zeilennummer raus? Alternativ kannst Du glaube ich auch Folgendes probieren:
    Code:
    =ZEILE()
    Geht das wenigstens? Dann sieht's im Beispiel so aus:
    Code:
    =INDEX($A$1:$C$3;ZEILE();ZEILE())
    Wollte ja nur ein wenig blödeln... :innocent:
     
  12. chrisbiolog

    chrisbiolog Becks Apfel (Emstaler Champagner)

    Dabei seit:
    13.11.06
    Beiträge:
    329
    Ah ich glaub mein Excel spricht nur deutsch und der Befehl heisst dann ZELLE.
     
  13. quarx

    quarx Hadelner Sommerprinz

    Dabei seit:
    17.04.05
    Beiträge:
    8.541
    Das wird's sein. Geht es jetzt? Sorry, mein Office-Programm kann nur Englisch. :-[

    Edit: Habe mein Open Office jetzt mal auf Deutsch umgestellt. Du hast Recht, es heißt da ZELLE statt CELL.
     
    #13 quarx, 23.05.07
    Zuletzt bearbeitet: 23.05.07
  14. chrisbiolog

    chrisbiolog Becks Apfel (Emstaler Champagner)

    Dabei seit:
    13.11.06
    Beiträge:
    329
    Also mein Befehl sieht jetzt so aus: =INDEX($A$1:$F$42;ZELLE("ZEILE");ZELLE("ZEILE"))
    Leider gehts immer noch nicht, denn es kommt nur die Zahle der Zelle A1 in jeder Zelle heraus.
     
  15. quarx

    quarx Hadelner Sommerprinz

    Dabei seit:
    17.04.05
    Beiträge:
    8.541
    Ich glaube, das was man dem ZELLE-Befehl übergibt, ist immer Englisch. Also
    Code:
    =INDEX($A$1:$F$42;ZELLE("row");ZELLE("row"))
    oder einfach
    Code:
    =INDEX($A$1:$F$42;ZEILE();ZEILE())
     
  16. chrisbiolog

    chrisbiolog Becks Apfel (Emstaler Champagner)

    Dabei seit:
    13.11.06
    Beiträge:
    329


    oh wow mit dem 2. hats dann schlussendlich funktioniert. Du bist ein Schatz. Ups darf man fremden Menschen sowas schreiben-na egal.
    Du ahnst ja nicht wieviel Arbeit du mir damit erspart hast vermutlich während meiner ganzen Doktorarbeit.

    Vielen tausend Dank!!;)

    Muss es jetzt nur noch mit der richtigen Tabelle testen war bisher nur ne einsietige Probetabelle.
     
  17. quarx

    quarx Hadelner Sommerprinz

    Dabei seit:
    17.04.05
    Beiträge:
    8.541
    Keine Ursache. :)

    Kannst Dich ja nochmal melden, ob es mit der Originaltabelle auch klappt.
     
  18. chrisbiolog

    chrisbiolog Becks Apfel (Emstaler Champagner)

    Dabei seit:
    13.11.06
    Beiträge:
    329
    Wenn wir gerade noch dabei sind. Wie kann ich das denn jetzt auf einem anderen Tabellenblatt ausgeben lassen? Denn meine Tabelle braucht eh schon 3 Tabellenblätter und die sind alle bis zum Anschlag voll.

    Oder kann ich das auch unter die Tabelle setzen?
     
  19. quarx

    quarx Hadelner Sommerprinz

    Dabei seit:
    17.04.05
    Beiträge:
    8.541
    Nimm einfach ein neues Tabellenblatt und schreibe das z.B. in die Zellen der ersten Spalte:
    Code:
    =INDEX(Tabellenblatt!$A$1:$F$42;ZEILE();ZEILE())
    Druntersetzen geht natürlich auch, eventuell musst Du ZEILE() durch z.B. ZEILE()-42 oder Ähnliches ersetzen. Die Zeilenangabe im INDEX-Befehl ist relativ zum Bereich. D.h. die Zeile 1 ist immer die erste Zeile des Bereichs, auch wenn der erst in Zeile 17 anfängt.
     
  20. chrisbiolog

    chrisbiolog Becks Apfel (Emstaler Champagner)

    Dabei seit:
    13.11.06
    Beiträge:
    329
    Es sieht jetzt bei mir so aus: =INDEX(Tabelle1!$B$2:$IV$352;ZEILE();ZEILE()) und scheint zu funktionieren. Muss nur noch mal die Werte stichprobenartig überprüfen.
     

Diese Seite empfehlen