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

Forumthread: 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
Anzeige

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.
Anzeige
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)
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.

Anzeige
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
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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