Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Durch Makros geschriebene Formeln aktualisieren

Forumthread: Durch Makros geschriebene Formeln aktualisieren

Durch Makros geschriebene Formeln aktualisieren
07.08.2007 07:44:00
Thomas
Hallo ich habe ein Problem, ich möchte durch Makros Formeln schreiben die Variabel sind. Sprich in irgendeiner Zelle ist ein Dateipfad, ein Dateiname, ein Monat und eine Monatszahl (die Monatszahl wird mittels SVerweis in die jeweilige Buchstabenvariante der Spalte umgewandelt) eingetragen.
Mein Makro läuft fehlerfrei durch und auch die Verknüpfungen der Formel funktionieren.
Das Problem pro "Aktualisierung/Berechnung" der Formel/Verknüpfung dauert es ein paar Sekunden.
Die Zieltabellen sind teilweise recht gross und nun wird für jede einzelne Verknüpfung die Zieldatei "ausgelesen" und das dauert sehr lang. Es sollen zukünftig an die 800 Werte ausgelesen werden.
Gibt es einen weg das die "Verknüpfungen" alle gleichzeitig ausgelesen werden, sprich die Zieldatei/en sich nur einmal "virtuell" öffnet und alle Information geholt werden statt immer pro Verknüpfung "auf" und "zu"?
Bedanke mich im vorraus für eure Hilfe:
Gruß Thomas
(PS.: Versuche grad die ersten Schritte als Makroschreiber :-S.)
Hier ist meine bisheriges Arbeit:

Sub Plan1()
Tag = Cells(3, 15)
Monat = Cells(6, 8)
Pfad1 = Cells(8, 22)
Datei1 = Cells(15, 22)
Range("AJ8").Select
ActiveCell.Formula = "=" + "'" + Pfad1 + "\" + "[" + Datei1 + "]" + Monat + "'" + "!" + "$ _
C11"
Range("AI8").Select
ActiveCell.Formula = "=" + "'" + Pfad1 + "\" + "[" + Datei1 + "]" + Monat + "'" + "!" + "$ _
B11"
Range("AH8").Select
ActiveCell.Formula = "=" + "'" + Pfad1 + "\" + "[" + Datei1 + "]" + Monat + "'" + "!" + "$ _
B10"
Range("AK8").Select
ActiveCell.Formula = "=" + "'" + Pfad1 + "\" + "[" + Datei1 + "]" + Monat + "'" + "!" + "$"  _
+ Tag + "10"
Range("AL8").Select
ActiveCell.Formula = "=" + "'" + Pfad1 + "\" + "[" + Datei1 + "]" + Monat + "'" + "!" + "$"  _
+ Tag + "11"
Range("AM8").Select
ActiveCell.Formula = "=" + "'" + Pfad1 + "\" + "[" + Datei1 + "]" + Monat + "'" + "!" + "$"  _
+ Tag + "8"
End Sub


Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Durch Makros geschriebene Formeln aktualisieren
07.08.2007 08:08:02
Oberschlumpf
Hi Thomas
Versuch es erst mal ohne Select:

Sub Plan1()
Tag = Cells(3, 15)
Monat = Cells(6, 8)
Pfad1 = Cells(8, 22)
Datei1 = Cells(15, 22)
Range("AJ8").Formula = "=" + "'" + Pfad1 + "\" + "[" + Datei1 + "]" + Monat + "'" + "!" + "$ _
C11"
Range("AI8").Formula = "=" + "'" + Pfad1 + "\" + "[" + Datei1 + "]" + Monat + "'" + "!" + "$ _
B11"
Range("AH8").Formula = "=" + "'" + Pfad1 + "\" + "[" + Datei1 + "]" + Monat + "'" + "!" + "$ _
B10"
Range("AK8").Formula = "=" + "'" + Pfad1 + "\" + "[" + Datei1 + "]" + Monat + "'" + "!" + "$ _
" + Tag + "10"
Range("AL8").Formula = "=" + "'" + Pfad1 + "\" + "[" + Datei1 + "]" + Monat + "'" + "!" + "$ _
" + Tag + "11"
Range("AM8").Formula = "=" + "'" + Pfad1 + "\" + "[" + Datei1 + "]" + Monat + "'" + "!" + "$ _
" + Tag + "8"
End Sub


Hilft das?
Ciao
Thorsten
dein Wunsch, das die "Verknüpfungen" alle gleichzeitig ausgelesen werden, wird wohl nicht erfüllt werden, da ein Computer nur ein Schritt nach dem anderen durchführen kann - es sei denn, du hast einen PC mit immer genau so vielen CPUs wie Dateien, die gleichzeitig ausgelesen werden müssen ;-)

Anzeige
AW: Durch Makros geschriebene Formeln aktualisieren
07.08.2007 08:43:40
Jan
Hallo Thomas,
da es sich ja um eine Datei handelt, auf die sich die Verweise beziehen, kannst Du die Datei doch zu Beginn des Makros öffnen und sie am Ende einfach wieder schliessen:
Workbooks.Open Filename:= Pfad1 & Datei1, UpdateLinks:=0, ReadOnly:=True
und dann am Ende
Workbooks(Datei1).Close SaveChanges:=False
Damit sollte die Aktualisierung der Formeln schneller ablaufen.
Wenn Du dann noch die Aktualisierung des Bildschirmes während der Verarbeitung unterbindest (Am Anfang Application.ScreenUpdating = False und am Ende Application.ScreenUpdating = True), dann kannst Du gerade bei vielen Änderungen etwas Geschwindigkeit gewinnen.
Viele Grüße aus Hamburg,
Jan

Anzeige
AW: Durch Makros geschriebene Formeln aktualisieren
08.08.2007 16:01:00
Thomas
Vielen Vielen Dank eure Ideen haben mir sehr geholfen ;-).
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige