Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1540to1544
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

Summenprodukt code vba

Summenprodukt code vba
22.02.2017 09:31:31
Garonne
Hallo,
Ich möchte ein kleines Macro erstellen um ein Summenprodukt zu berechnen.
Nun habe ich folgendes geschrieben:
Sub test2()
Derniereligne = Range("H27").End(xlDown).Row
Nombre_de_Vibration = 0
Plage1 = Range(cells(27,8),cells(Derniereligne-1,8).Adress
Plage2 = Range(cells(28,8),cells(Derniereligne,8).Adress
Nombre_de_Vibration=Evaluate('SumProduct('&Plage1&>=12'*'&Plage2&=12'*'&Plage2&
Ich bekomme aber immer schon bei der Zeile "Plage1" einen Syntax Fehler und weiss nicht warum. Ob mein Summenprodukt dann so funktioniert wie ich möchte weiss ich auch nicht.
In Excel würde meine Formel so aussehen:
=SOMMEPROD((H27:H1035010>=12)*(H28:H1035011 Hat jemand eine Lösung für mich?
Vielen Dank
Garonne

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Summenprodukt code vba
22.02.2017 10:55:44
Max2
Hallo,
VBA Code ist immer auf English und das englische Wort für Adresse ist Address.
Also .Adress in .Address abändern
Wozu das Evaluate?
Die Formel besser wie Folgt angeben:
Nombre_de_Vibration = "=SumProduct(" & Plage1 & ">=12*" & Plage2 & "

AW: Summenprodukt code vba
22.02.2017 11:46:38
Garonne
Hallo,
Ich habe es ausprobiert mit Address aber ich habe immernoch ein Syntaxfehler....
Das gleiche trifft für die geänderte Version der Formel zu.
Bei mir sieht es jetzt so aus:
Sub test2()
Derniereligne = Range("H27").End(xlDown).Row
Nombre_de_Vibration = 0
Plage1 = Range(cells(27,8),cells(Derniereligne-1,8).Address
Plage2 = Range(cells(28,8),cells(Derniereligne,8).Address
Nombre_de_Vibration= "=SumProduct("&Plage1&">=12 * "&Plage2&" Range("C29") = Nombre_de_Vibration
Sub End
Leider funktioniert es aber noch nicht.
Hat jemand noch eine andere Idee?
Danke
Garonne
Anzeige
AW: Summenprodukt code vba
22.02.2017 12:02:23
Max2

Derniereligne = Range("H27").End(xlDown).Row --> .End(xlUp).Row 

wenn du die letzte Zeile finden willst.
Du versuchst die Adressen eines gesamten Bereichs in einer Variable zu speichern.
Das geht nicht ohne eine Schleife bzw. Schleife + Array
https://msdn.microsoft.com/de-de/library/office/ff837625.aspx
https://msdn.microsoft.com/de-de/library/office/ff837625.aspx

Mit Evaluate lag ich übrigens falsch!
Das muss doch davor!

Sub End --> End Sub
Absteigende Flanken zählen
24.02.2017 13:46:30
Michael
Hi,
1. fehlt die 2., schließende Klammer vor dem .address
2. hier ein Vorschlag:
Sub test2()
Dim Derniereligne As Long
Dim Plage1 As String, Plage2 As String
Derniereligne = Range("H27").End(xlDown).Row
Plage1 = Range(Cells(27, 8), Cells(Derniereligne - 1, 8)).Address
Plage2 = Range(Cells(28, 8), Cells(Derniereligne, 8)).Address
'  Nombre_de_Vibration=Evaluate('SumProduct('&Plage1&>=12'*'&Plage2&=12)*1,(" & Plage2 & "=12)*1,(" & Plage2 & "
Wenn es sich wirklich um über 1 Mio. Zeilen handelt (103xxxx), würde ich fast "reines VBA" mit Arrays verwenden.
Schöne Grüße,
Michael
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige