die Datei: https://www.herber.de/bbs/user/75334.xlsm
hat nachfolgenden Code, gestartet mit dem Button Blatt1.
ES folgen jetzt Hintergrundinformationen, prinzipiell nicht so wichtig. Die konkrete Frage ist dann das nächste Fettgedruckte.
Ein Anfrager in einem anderen Forum will für jede Zelle im Blatt2 als Ergebnis stehen haben wie oft der analoge Wert in der gleichen Zelle in Blatt1 in Blatt1 vorkommt. Dafür zeigte er diese Formel:
=WENN('Blatt1'!A10;ZÄHLENWENN('^Blatt1'!$A$1:$ALL$1000;'Blatt1'!A1);"")
Nach Nachfrage was er denn mit "Excel nippelt ab" meint kam raus daß er da wohl in kleineren Bereichen manuell die Formel reinkopiert hat, da die zeit gemessen/geschätzt hat und kam auf 250 min für die 1 Mio Zellen.
Excel- oder Vbalösung ist egal.
Ich habe dann verschiedene Varianten durchgetestet.
Also mit
Bereich.Formula=Formel
Das dauerte mir zu lang.
Dann probierte ich es so:
Bereich.Value="#" & Formel
Dann wollte ich dann einfach die "#" durch Ersetzen weglöschen, klappte auch nicht.
Es tat sich schlichtweg nix obwohl es angeppasster aufgezeichneter Code war.
Und ich habe noch mehr probiert ... :-(
Das war jetzt nur zur Erhellung des Hintergrundes, jetzt meine konkrete Frage.
Ich möchte in einem Bereich in Blatt2 in jeder Zelle stehen haben wie oft der Wert des gleichen Zellennamens in Blatt1 in dem Blatt1 vorkommt.
Excel- oder Vbalösung ist egal, gesucht ist die schnellste Methode/Code.
Danke ^ Gruß
Reinhard
Option Explicit
Sub Zaehlen()
Dim Ber(1 To 1000, 1 To 1000) As String, a As Integer, b As Integer
Dim T As Single, Formel As String
T = Timer
Formel = "=IF(Tabelle1!RC0,COUNTIF(Tabelle1!R1C1:R1000C1000,Tabelle1!RC),"""")"
ActiveWorkbook.Names.Add Name:="XXX", RefersToR1C1:=Formel
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Worksheets("Tabelle2").UsedRange.ClearContents
For a = 1 To 1000
For b = 1 To 1000
Ber(a, b) = "=XXX"
Next b
Next a
Worksheets("Tabelle2").Range("A1:ALL1000") = Ber
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
MsgBox Timer - T
End Sub