Anzeige
Archiv - Navigation
892to896
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
892to896
892to896
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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


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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige