133 Aufrufe
Gefragt in Tabellenkalkulation von

Hallo,

ich versuche gerade den Wert des Formelergebnisses direkt als Value in die Zelle zu schreiben, da beim Durchlauf von knapp 50.000 Zeilen es doch eine ganze Weile in Anspruch nimmt.

Kann mir bitte jemand helfen?

Cells(i, SpVorkommen).FormulaR1C1 = "=COUNTIF(R2C3:RC[-17],RC3)"
Cells(i, SpVorkommen).Value = Cells(i, SpVorkommen).Value

Ich möchte das Ergebnis direkt als Value in die Cells schreiben.

Danke für eure Mühe!

O.

3 Antworten

0 Punkte
Beantwortet von beverly_ Experte (3.3k Punkte)
Hi,

wie heißt denn deine Formel in der A1-Schreibweise? Möglicherweise kann man dann ja mittels Evaluate berechnen.

Bis später, Karin
0 Punkte
Beantwortet von
Hallo Karin,

folgende Formel wäre das

=ZÄHLENWENN($C$2:$C2;$C2)

lg

O.
0 Punkte
Beantwortet von beverly_ Experte (3.3k Punkte)

Hi,

mit der Schleife ginge das so:

    Cells(i, SpVorkommen) = Evaluate("=COUNTIF($C$2:$C" & i & ",$C" & i & ")")

Aber weshalb überhaupt in einer Schleife wenn es darum geht, dass das Eintragen sehr lange dauert? Trage die Formel einfach in die 1. Zelle ein und benutze dann Autofill bis zur letzten belegten Zeile.

Dim lngLetzte As Long
lngLetzte = Cells(Rows.Count, 3).End(xlUp).Row
Cells(i, SpVorkommen).Formula = "=COUNTIF($C$2:$C2,$C2)"
Cells(i, SpVorkommen).AutoFill Destination:=Range(Cells(2, SpVorkommen), Cells(lngLetzte, SpVorkommen))

Wenn du dann immer noch nur die Werte und nicht die Formel drin stehen haben möchtest, dann kannst du einfach den Bereich markieren -> Kopieren -> Einfügen -> Werte.

Bis später, Karin

...