Anzeige
Archiv - Navigation
1472to1476
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

Formel als Makro programmieren

Formel als Makro programmieren
03.02.2016 10:03:42
Jaylan
Hallo zusammen!
Kann mir jemand vielleicht helfen, folgende Formel als Makro zu programmieren?
=SUMMENPRODUKT((VERGLEICH(Hilfstabelle!B$2:B$4925&Hilfstabelle!D$2:D$4925&Hilfstabelle!G$2:G$4925; Hilfstabelle!B$2:B$4925&Hilfstabelle!D$2:D$4925&Hilfstabelle!G$2:G$4925;)=ZEILE(J$1:J$4924)) *(Hilfstabelle!G$2:G$4925=Maschinenauswertung!B7)*ISTZAHL(SUCHEN("SCHRAUBE"; Hilfstabelle!$D$2:$D$4925)); Hilfstabelle!H$2:H$4925)
Gruß

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

Betreff
Datum
Anwender
Anzeige
AW: Formel als Makro programmieren
03.02.2016 10:17:39
Rudi
Hallo,
stell mal eine Mappe mit Wunschergebnis ein.
Wenn du schon mit einer Hilfstabelle arbeitest, solltest du darin direkt B, D und G verknüpfen. Dann kannst du Hilfstabelle!B$2:B$4925&Hilfstabelle!D$2:D$4925&Hilfstabelle!G$2:G$4925 z.B. durch Hilfstabelle!H$2:H$4925 ersetzen.
Gruß
Rudi

AW: Formel als Makro programmieren
03.02.2016 10:22:07
UweD
Hallo
reicht es, die Formel zu nutzen und dann durch Wert zu ersetzen?

Sub Formelllll()
With ActiveSheet.Range("A1")
.FormulaLocal = "=SUMMENPRODUKT((VERGLEICH(Hilfstabelle!B$2:B$4925&Hilfstabelle!D$2:D$ _
4925&Hilfstabelle!G$2:G$4925; Hilfstabelle!B$2:B$4925&Hilfstabelle!D$2:D$4925&Hilfstabelle!G$2:G$4925;)=ZEILE(J$1:J$4924)) *(Hilfstabelle!G$2:G$4925=Maschinenauswertung!B7)*ISTZAHL(SUCHEN(""SCHRAUBE""; Hilfstabelle!$D$2:$D$4925)); Hilfstabelle!H$2:H$4925)"
.Value = .Value 'Formel in Wert verwandeln
End With
End Sub
Gruß UweD

Anzeige
AW: wird wohl nicht reichen, ...
03.02.2016 10:26:46
...
Hallo Uwe,
... denn es geht nicht nur um die reine Umsetzung einer Formel ins VBA, sondern um eine performante(re) Lösung für eine mehre hunderttausend Datensätze umfassende Auswertung.
Gruß Werner
.. , - ...

AW: Formel als Makro programmieren
03.02.2016 10:28:35
Jaylan
Vielen Dank an alle für die schnelle Hilfe. Könnte man das so machen, dass man das gesuchte Wort als "SCHRAUBE" nicht hardcoded im Makro hat, sondern später der Funktion übergibt?

Problemstellung
03.02.2016 14:07:16
Michael
Hi zusammen,
ich hatte vor ein paar Tagen schon mal die Datei angesehen und nicht kapiert, was da überhaupt passieren soll - auf ein Neues!
Wo sind die 100000 Datensätze? In der Hilfstabelle?
Und wenn ja, ist diese Tabelle ein "Original" oder eine Kopie, die "nur" zur Auswertung dient, und die man nach Gusto ändern kann? Ich denke da zuallererst an eine vernünftige Sortierung, denn damit ist evtl. schon die halbe Arbeit erledigt.
"Weich kodieren" läßt sich die "Schraube", indem man sie z.B. in eine Zelle schreibt, sie händisch eingibt oder wie auch immer, Hauptsache, der Begriff steckt in einer Variablen: dann läßt sich das "Makro" schlicht so abändern:
Sub Formelllll()
Dim was$
was = Range("A2")
'hier nicht nur Schraube eingeben, sondern "Schraube", dann spart man sich
'diese ekligen, mehrfachen """""""
With ActiveSheet.Range("J7")
.FormulaLocal = _
"=SUMMENPRODUKT((VERGLEICH(Hilfstabelle!B$2:B$4925&Hilfstabelle!D$2:D$4925" & _
"&Hilfstabelle!G$2:G$4925; Hilfstabelle!B$2:B$4925&Hilfstabelle!D$2:D$4925" & _
"&Hilfstabelle!G$2:G$4925;)=ZEILE(J$1:J$4924))*(Hilfstabelle!G$2:G$4925=" & _
"Maschinenauswertung!B7)*ISTZAHL(SUCHEN(" & was & "; Hilfstabelle!$D$2:$D$4925))" & _
"; Hilfstabelle!H$2:H$4925)"
.Value = .Value 'Formel in Wert verwandeln
End With
End Sub
Was ich nicht kapiere, ist die Auswertung selbst: was kann es einem nützen, nur je *einen* Wert nach einer Änderung der Auftragsnummer zu erfassen? Das ist doch derart zufällig, ob da zuerst mal 3 oder vier oder nur 2 produziert werden? In der Hilfstabelle steht in H5, H8 und H11 zwar jeweils ne 2...
Ich kann nur was programmieren, wenn ich verstehe, wozu es gut sein soll, und den anderen Helfern wird's nicht anders gehen...
Abgesehen davon: wozu eigentlich die "Schraube"? Man könnte zwar die Auswertung um eine Spalte mit Begriffen ergänzen und die zeilenweise auslesen, aber das ist doch überflüssig, wenn ich nicht nach dem Begriff, sondern *nur* nach der offensichtlich eindeutigen Typ-Nr. suche, oder?
Es gibt doch anscheinend keinen Dübel mit der Nr. 055260 05FZ60
More information, please.
Happy Exceling,
Michael
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige