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

VBA vereinfachen

VBA vereinfachen
28.04.2004 20:18:23
Andre
Hallo,
Also in meiner Spalte a8 stehen untereinander lauter Dateinamen, in spalte c8 soll jetzt die formel ='C:\test\[name.datei]blatt'!$c$1 stehen, wobei Name.Datei ja in Spalte A8 stehtund das blatt aus z.B. spalte D3 vom Namen her ausgelesen wird das habe ich bisher so gelöst:


Sub test()
Range("G8").Select
Selection.Copy
Range("C8").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("C8").Formula = "='C:\test\[" & Range("C8").Value
Range("G9").Select
Selection.Copy
Range("C9").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("C9").Formula = "='c:\test\[" & Range("C9").Value
End Sub

Die abfrage besteht aus jeweils 4 Werten pro Tabelle und geht über 120 Dateien.
In Spalte G8 habe ich über eine Formel den Dateinamen(A8) mit dem Blatt(D3) und der Zelle verkettet.
und dann das ganze halt über das vbs dortreinkopiert.
das hat auch wunderbar funktioniert aber mitlerweile ist die Tabelle sehr groß geworden bzw. ich frage aus den anderen Tabellen mehrere Werte ab sodas es ziehmlich unübersichtlich ist und Excel nach 50 Zeilen abbricht und sagt Prozess zu groß.
Wie kann ich das eventuell vereinfachen bzw. dafür sorgen das Excel nicht abbricht?
Gruß
Andre

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

Betreff
Datum
Anwender
Anzeige
AW: VBA vereinfachen
28.04.2004 20:53:47
Christoph M
Hi Andre,
probiers mal mit:

Sub test()
Dim i as Integer
For i = 8 To 50 'wieviele Einträge hast du denn? Letzte Zeile ermitteln!
Range("C" & i).Formula = "='C:\test\[" & Range("G" & i).Value
Next
End Sub


Das ganze kann man auch gleich in den Code integrieren, anstatt über Formeln erst ein Zwischenergebnis in Spalte G zu schreiben..., das läuft aber dann nach dem selben Schema wie in obigem Code
Gruß
Christoph
AW: VBA vereinfachen
28.04.2004 21:04:42
andre
Hallo Andre,
Der Code ist schon etwas hahnebüchen ;-), würde man auf Altdeutsch sagen.
Also Du tust was kopieren und woanders die Werte einfügen, und gleich danach knallst Du eine Formel drüber. Da reicht eigentlich die Zeile
Range("C8").Formula = "='C:\test\[" & Range("G8").Value
Das ganze noch in eine Schleife, und wegen des Fehlers mal mit Berechnen Ausschalten versuchen.
Application.Calculation = xlCalculationManual
For i=8 to 9
Cells(i,3)").Formula = "='C:\test\[" & Cells(i,7).Value
Next
Application.Calculation = xlCalculationAutomatic

Grüße, André ( andre)



Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige