Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1068to1072
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
Inhaltsverzeichnis

Problem bei Formel mit großem Datenbereich in VBA

Problem bei Formel mit großem Datenbereich in VBA
22.04.2009 15:44:55
Tagor2000
Tach,
ich lese schon seit einiger Zeit immer wieder Lösungen zu meinem Problem in diesem Forum und wollte mich erst einmal bei allen Autoren dieser Lösungen pauschal bedanken!!!
Jetzt habe ich aber ein Problem, wo ich keine Lösung finden konnte.
Ich möchte in einem Tabellenblatt "Blatt2" eine Formel mit VBA eintragen. Die Formel bezieht sich auf das Tabellenblatt " Blatt1". Die Formel ist eine Matrixformel und lautet:
= Summe(('Blatt1'!22:22)="Suchbegriff"*('Blatt2'!33:33))
für die Zelle D:12 in "Blatt2"
Diese möchte ich gerne in die Zellen D12:D35166 in "Blatt2" eintragen.
Mit dem folgenden Code:
For i = 1 To 10
Zeile = 30 + i & ":" & 30 + i
Range(Cells(12 + i, 4), Cells(12 + i, 4)).FormulaArray = "=SUM(('Einspeisung " & Name & "'!22:22=""Einspeisung vorgelagertes Netz"")*('Einspeisung " & Name & "'!" & Zeile & "))"
Next i
Kann ich die Formel auch korrekt in den Zellen D13:D23 eintragen. Dies klappt auch noch bei Hundert Zellen, sobald ich aber das ganze auf die 35.000+ Zellen mache stürzt Excel ab.
Ich hatte am Anfang gehofft die Formel ohne Schleife verwenden zu können, da ja auch die Formel
Range(Cells(13, 7), Cells(35166, 7)).Formula = "=Sum(D13:F13)"
immer korrekt als relativer Bezug funktioniert. Scheint aber bei unterschiedlichen Blättern nicht zu funktionieren oder es liegt an der "Stückelung" der Formel
Gibt es eine Möglichkeit dies Problem elegant zu lösen?
Vielen Dank schon mal für alle Ideen
Bis denn
Christoph

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Problem bei Formel mit großem Datenbereich in VBA
22.04.2009 15:51:45
Dieter
Hi,
welchen Datentyp hat i ? Muss As Long deklariert sein.
mfg Dieter
AW: Problem bei Formel mit großem Datenbereich in VBA
22.04.2009 16:16:33
Tagor2000
Tach,
ich habe den Code noch mal verbessert.
Dim i
Dim zeile As String
For i = 1 To 10
Zeile = 30 + i & ":" & 30 + i
Range(Cells(12 + i, 4), Cells(12 + i, 4)).FormulaArray = "=SUM(('Blatt1'!22:22=""Suchbegriff"")*('Blatt2'!" & Zeile & "))"
Next i
Bis denn
Christoph
P.S. Die Änderung der Variable i in Long hat nicht geholfen. Ich verstele allerdings auch noch nicht wieso sie nötig ist.
AW: Problem bei Formel mit großem Datenbereich in VBA
22.04.2009 16:25:46
Tagor2000
Habe verstanden wieso Long!!! (wobei Variant ja auch funktionieren müsste)
Anzeige
AW: Problem bei Formel mit großem Datenbereich in VBA
23.04.2009 07:04:42
Hajo_Zi
Hallo Nick,
Variant braucht mehr Speoicherplatz als Long und ich vermute es geht bei der Variablen um Zeilen und da reicht Long.

AW: Problem bei Formel mit großem Datenbereich in VBA
23.04.2009 09:49:09
Tagor2000
Hallo,
Danke für den Hinweis mit der Deklaration. Habe ich sofort eingebaut. Hilft nur leider nicht bei meinem Problem. Hat für das eigentliche Problem keiner eine Lösungsidee?
Bis denn
Christoph
P.S. mit 1.000 Zeilen hat es auch geklappt, dauert halt schon ein bisschen. Mit 10.000 hat es 18 min gedauert. Da ich diese Berechnung mehrmal machen muss, sind diese Wartezeiten etwas lang :D
Anzeige
AW: Problem bei Formel mit großem Datenbereich in VBA
24.04.2009 13:47:51
Tagor
Tach,
habe eine Lösung gefunden. Ist allerdings nicht elegant.
Range(Cells(12, 4), Cells(12, 4)).FormulaArray = "=SUM(('Blatt1'!$22:$22="Suchbegriff")*('Blatt1'!31:31))"
Range(Cells(12, 4), Cells(12, 4)).AutoFill Destination:=Range(Cells(12, 4), Cells(35166, 4)), Type:=xlFillValues
Bis denn
Christoph

327 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige