automatischer Zellbezug mit VBA in Zelle
#1
Hallo zusammen,

ich habe eine Tabelle mit 11 Spalten (B bis L) und etwa 16500 Zeilen. Also einer menge Daten!

Nun soll in jeder Zelle eine simple Formel stehen:

B4: =KdArt!E5               C4: =KdArt!L5 
B5: =KdArt!E6               C5: =KdArt!L6
B6: =KdArt!E7               C6: =KdArt!L7
...                                 ...
..                                  ..
.                                   .
usw.
Das händisch einzutragen ist bei 16.500 Zeilen mühsam. Außerdem existiert der Blattname (KdArt) nicht von Anfang an, weshalb ich sonst sofort #Bezug! erhalten würde.
Daher sollen die Formeln über VBA in die Zeilen geschrieben werden.
Nun meine Frage ob es dafür ein Script gibt, welches dies automatisch erledigt, ohne jede einzelne Zeile im Script anzugeben?


Freue mich auf Eure Hilfe.
VG

Edit: Weiterführung des Themeninhalts aus http://www.clever-excel-forum.de/Thread-...ellenblatt (geschlossen)
Top
#2
Hi Jules,

das hat doch direkt etwas mit deiner anderen Frage zu tun, oder? Dann halt hier nochmals: Wieso müssen denn die Formeln schon auf Vorrat stehen, obwohl das Bezugsblatt noch gar nicht existiert?

Wäre schön, wenn du deine Informationen nicht so geheim halten würdest.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Top
#3
Hi Günter,

ja. Ich fürchte ich komme hier ohne VBA nicht weiter. Daher diese Frage.

Ich versuche gern nochmal mein Szenario zu erklären:

Ich habe eine Übersicht, welche sich aus einem anderen Tabellenblatt Daten ziehen soll. Dies wie bereits beschrieben über =KdArt!A1
Die Übersicht existiert immer und ändert sich auch nicht. Das Tabellenblatt KdArt wird jedoch erst später generiert und ist nicht beim Öffnen der Mappe verfügbar. Daher erscheint in der Übersicht automatisch #Bezug!A1, wenn man die Mappe öffnet.

Ich möchte die Übersicht nicht jedesmal erst erstellen müssen. Zudem sind es 11 Spalten mit 16.500 Zeilen. Da jedesmal die Formel reinzuziehen macht keinen Spass.

.. Kommt etwas Licht ins Dunkel? Smile
Top
#4
Hi Jules,


Zitat:.. Kommt etwas Licht ins Dunkel? [img]
Dateiupload bitte im Forum! So geht es: Klick mich!
]

nein, weil ich absolut den Sinn hinter dem Ganzen nicht verstehe. Du holst dir aus einer Datei weit über 180.000 Zelleinträge in eine "Übersicht"??? Dann kannst du sie gleich kopieren - da würdest du dir leichter tun. Und was das mit Übersicht zu tun hat, entzieht sich auch meinem Verständnis. Wie dem auch sei, da ich mit VBA noch nicht kompatibel genug bin, kann ich dir mit einer Makrolösung nicht helfen.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Top
#5
Hallo Jules,

Zitat:Hi Günter,
ja. Ich fürchte ich komme hier ohne VBA nicht weiter. Daher diese Frage.

Zudem sind es 11 Spalten mit 16.500 Zeilen. Da jedesmal die Formel reinzuziehen macht keinen Spass.

zum VBA-Problem:
Deinen Wunsch zu erfüllen wäre eine leichte Übung. Da wäre eine einfache Schleife völlig ausreichend.
Aber ich schließe mich den Ausführungen von Günter voll an.

Eine weitere Frage muß ich nun doch noch loswerden. Wenn es jetzt schon klar ist, daß dieses Blatt
anzulegen ist, warum legst Du das Teil nicht jetzt schon an? Das kostet kein Geld und macht Dir das
Leben um einiges leichter
... und es gibt, jedenfalls wenn ich richtig verstanden habe, auch keinen Ärger mit den Bezügen mehr.

Und ja, wie Günter schon schrieb
Zitat:Wäre schön, wenn du deine Informationen nicht so geheim halten würdest.
Top
#6
Moin Käpt'n,

wenn mein Wunsch eine leichte Übung und mit einer einfachen Schleife erledigt ist, wäre ich dir sehr zu Dank verpflichtet, wenn du mir verrätst wie.

Dieses Blatt befindet sich in einer externen Mappe welche stetig aktualisiert wird. Ich ziehe mir dieses Blatt also über einem Import in meine Mappe. Doch auch wenn der Import nicht stattgefunden hat, brauche ich die besagte Übersicht. Und ja, es ist eine Übersicht, denn hier werden die 16.500 Zeilen nach versch. Kriterien gefiltert usw. 

Wenn ich jetzt hingehe und das Blatt aktualisieren möchte (also neu importiere), dann legt er mir eine Kopie an: KdArt(2).
Hier müßte ich dann wieder hingehen und alles erst umbenennen, damit ja der Zellbezug nicht verloren geht.

VG
Top
#7
Hallo,

vielleicht sonst jemand der mir die "einfache" Lösung von Käpt'n Blaubär mittels Schleife erklären kann?

Würde mich über Hilfe freuen Smile

VG
Top
#8
Wenn das Blatt das du importierst immer gleich heißt, kannst du das auch anknüpfen! Dann hast du eine externe Verknüpfung die automatisch (sofern gewollt) aktualisiert wird! 

und du hast keine Bezugsprobleme

Öffne einfach deine Tabelle und die Tabelle, die du immer importierst! Dann gibst du in deiner Tabelle ein = ein und drückst in der anderen Tabelle die Zelle die in deine Tabelle Verknüpft werden soll!
Dann kannst du die andere Tabelle schließen!
Die Bezüge bleiben!
Top
#9
Hallöchen,

mal abgesehen davon, dass man das eventuell mit einem Datenimport lösen kann noch ein anderer VBA-freier Vorschlag.


Erstelle eine Liste / "intelligente Tabelle" (Menü EInfügen | Tabelle)

1. Überschriften erstellen, eventuell in erster Datenzeile irgendwo was hinschreiben

2. Einfügen | Tabelle

--> hier den Bereich anpassen, z.B. bis Zeile 16500

3. in erster Datenzeile, z.B. A2, eine Formel eintragen
--> die Formel wird automatisch bis zum Ende ausgefüllt, z.B. A16500

usw.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#10
Grüß dich Frogger,

vom Ansatz her nicht schlecht.

Demnach hätte ich als (feste) Formel:
Code:
='[Statistik Juni 2018.xlsm]KdArt'!$N$11
Wie du im Dateinamen aber erkennen kannst, handelt es sich hierbei um eine Statistik - im Beispiel - für Juni 2018.
Bekomme ich nun also eine Neue, sagen wir "Statistik Juli 2018" ist meine Verknüpfung wieder hinfällig. Oder besteht die Möglichkeit den Dateinamen über einen definierten Namen zu hinterlegen?
Code:
='["Dateiname"]KdArt'!$N$11

Soetwas in der Art. Und den "Dateinamen" definiere ich über eine Zelle und kann ihn jederzeit anpassen.
Confused
Es kann doch aber nicht so schwer sein über VBA hinzugehen nach dem Motto:
Trage die Formel in Zelle B4.
Jetzt ziehe die Formel entsprechend nach unten bis zum Ende.
Mache das gleiche für C4, D4, etc.
:22:
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste