Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
600to604
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
600to604
600to604
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

ARRAY-Formel per Code

ARRAY-Formel per Code
22.04.2005 20:50:43
Erich M.
Hallo EXCEL-Freunde,
ich suche noch eine Möglichkeit, einen Code für eine ARRAY-Formel zu optimieren;
hat da noch jemand eine Idee:
'###### funktioniert:

Sub Makro1()
Dim i As Integer
Application.ScreenUpdating = False
For i = 6 To 1697
Cells(i, 17).FormulaArray = _
"=IF(SUM(COUNTIF(RC[-15]:RC[-10],R3C2:R3C7))>0, SUM(COUNTIF(RC[-15]:RC[-10],R3C2:R3C7)),"""")"
Next i
Range(Cells(6, 17), Cells(1697, 17)).Copy
Range(Cells(6, 17), Cells(1697, 17)).PasteSpecial Paste:=xlValues, Operation:=xlNone
Application.CutCopyMode = False
Application.ScreenUpdating = True
Range("A1").Select
End Sub

''''''''########## welche Anpassung erforderlich ?????????????

Sub iven()
Range(Cells(6, 17), Cells(1697, 17)).FormulaArray = _
"=IF(SUM(COUNTIF(RC[-15]:RC[-10],R3C2:R3C7))>0, SUM(COUNTIF(RC[-15]:RC[-10],R3C2:R3C7)),"""")"
Range(Cells(6, 17), Cells(1697, 17)).Copy
Range(Cells(6, 17), Cells(1697, 17)).PasteSpecial Paste:=xlValues, Operation:=xlNone
Application.CutCopyMode = False
Range("A1").Select
End Sub


Besten Dank nochmal!
mfg
Erich
EXCEL-Shareware und Freeware: http://www.toolex.de
EXCEL und Lottogewinne machen glücklich: http://48678.rapidforum.com

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ARRAY-Formel per Code
22.04.2005 22:15:06
Ramses
Hallo
damit würde es gehen:
Range(Cells(6, 17), Cells(1697, 17)).FormulaArray = _
"=IF(SUM(COUNTIF(RC[-15]:RC[-10],R3C2:R3C7))>0, SUM(COUNTIF(RC[-15]:RC[-10],R3C2:R3C7)),"""")"

Allerdings glaube ich nicht, dass dich das Ergebnis zufriedenstellt :-)
AW: ARRAY-Formel per Code
23.04.2005 07:18:43
Erich M.
Hallo Rainer,
danke - aber ich glaube ich muss bei der ersten Variante bleiben, die ja funktioniert,
aber relativ lange dauert.
mfg
Erich
EXCEL-Shareware und Freeware: http://www.toolex.de
EXCEL und Lottogewinne machen glücklich: http://48678.rapidforum.com
Anzeige
AW: ARRAY-Formel per Code
23.04.2005 09:24:38
andre
Hallo Erich,
ich hab mir letztens helfen lassen, und Deine zweite Möglichkeit war die Lösung. In den zellen steht dann zwar überall die gleiche Formel, aber das Ergebnis stimmt trotzdem. Zweite Einschränkung: Du kannst die Zellen mit der Formel nicht mehr einzeln bearbeiten Fehler in etwa: "... Zelle Teil eines Array ..."
Grüße, Andre
AW: ARRAY-Formel per Code
23.04.2005 12:19:39
Erich M.
Hallo Andre,
da die erste Lösung relativ lange dauert, hätte ich eine Alternative gesucht, sprich eine
Änderung der zweiten Alternative. Aber die geht leider nicht, da von Zeile 6 bis 1697
immer das gleiche Ergebnis drinsteht.
Das muss irgendiwe mit der ARRAY-Funktion zusammenhängen.
Insofern bin ich nach wie vor für eine schnellere Lösung aufgeschlossen.

mfg
Erich
EXCEL-Shareware und Freeware: http://www.toolex.de
EXCEL und Lottogewinne machen glücklich: http://48678.rapidforum.com
Anzeige
AW: ARRAY-Formel per Code
23.04.2005 12:35:18
andre
Hallo Erich,
das war genau der Punkt, wo ich auch drübergestolpert bin. Ich hatte zum Test im Datenbereich überall dasselbe stehen, und da war es kein Wunder, dass auch das Ergebniss überall das Gleiche war ;-) Ist das eventuell bei Dir auch?
Grüße, Andre
AW: ARRAY-Formel per Code
23.04.2005 12:38:26
Martin Beck
Hallo Erich,
teste mal, ob das schneller ist:

Sub Makro2()
Dim i As Integer
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Cells(6, 17).FormulaArray = _
"=IF(SUM(COUNTIF(RC[-15]:RC[-10],R3C2:R3C7))>0, SUM(COUNTIF(RC[-15]:RC[-10],R3C2:R3C7)),1)"
Cells(6, 17).Copy Destination:=Range(Cells(7, 17), Cells(1697, 17))
Calculate
Range(Cells(6, 17), Cells(1697, 17)).Copy
Range(Cells(6, 17), Cells(1697, 17)).PasteSpecial Paste:=xlValues, Operation:=xlNone
Application.CutCopyMode = False
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Range("A1").Select
End Sub

Gruß
Martin Beck
Anzeige
AW: ARRAY-Formel per Code
23.04.2005 12:42:50
andre
... Paste:=xlValues, ... ??
lieber die xlFormulas ...
Grüße, Andre
rasende ARRAY-Formel
23.04.2005 13:56:56
Erich M.
Hallo Martin,
die Lösung ist deutlich schneller und dürfte kaum zu überbieten sein.
Ich habe mir mal irgendwo was runtergeladen wie man die Zeit messen kann,
das werde ich testen.
Wie muss ich die Anmerkung von andre verstehen wegen xlValues?
Allerbesten Dank!!
mfg
Erich
EXCEL-Shareware und Freeware: http://www.toolex.de
EXCEL und Lottogewinne machen glücklich: http://48678.rapidforum.com
AW: rasende ARRAY-Formel
23.04.2005 17:32:13
andre
Hallo Erich,
ich vermute mal, Du willst die Formel und nicht die Werte ;-)
Grüße, Andre
Anzeige
AW: rasende ARRAY-Formel
23.04.2005 19:06:01
Erich M.
Hallo andre,
alles klar; aber ich benötige die Werte; deswegen damit die Datei nach dem
ermitteln der Ergebnisse sofort wieder kleiner wird.
Besten Dank!
mfg
Erich
EXCEL-Shareware und Freeware: http://www.toolex.de
EXCEL und Lottogewinne machen glücklich: http://48678.rapidforum.com

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige