Anzeige
Archiv - Navigation
976to980
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
976to980
976to980
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Problem "SUMME WENN" in VBA-Code

Problem "SUMME WENN" in VBA-Code
18.05.2008 19:24:25
andre
Hallo,
ich habe ein Problem mit folgendem Code:

For d = 18 To 26
If Len(Cells(d, 6)) > 0 Then
Range(Cells(d, 7)) = WorksheetFunction.SumIf(Range("F6:F14"), Range(Cells(d, 7)), Range( _
"G6:G14"))
End If
Next d


Beim Kompilieren erhalte ich keinen Fehler, jedoch bei der Ausführung unterbricht das Programm mit der Meldung
"Die Methode 'Range' für das Objekt '_Worksheet' ist fehlgeschlagen"
Kann mir jemand helfen?
Vielen Dank!
Gruß Andre

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

Betreff
Datum
Anwender
Anzeige
AW: Problem "SUMME WENN" in VBA-Code
18.05.2008 19:34:41
Daniel
Hi
Problem ist das "Range(Cells(d,7))"
die Frage ist, wo der Wert reingeschrieben werden soll:
- endweder in die Zelle mit der Addresse, die in Cells(d, 7) hinterlegt ist, dann muss da aber auch ein Text in Form einer Zelladdresse stehen, dh sowas wie "X12".
steht in dieser Zelle ein Text, der nicht einer Zelladdresse entspricht, kommt es zu der Fehlermeldung.
- oder direkt in Cells(d, 7), dann ist das Range überflüssig und der Code lautet nur:

Cells(d, 7) = Worksheetfunction.SumIF(...)


gruß, Daniel

Anzeige
AW: Problem "SUMME WENN" in VBA-Code
18.05.2008 19:47:00
andre
Hallo,
der Code ist daraus entstanden:

If Range("F18")  "" Then
Range("G18") = WorksheetFunction.SumIf(Range("F6:F14"), Range("F18"), Range("G6:G14"))
End If
If Range("F19")  "" Then
Range("G19") = WorksheetFunction.SumIf(Range("F6:F14"), Range("F19"), Range("G6:G14"))
End If
If Range("F20")  "" Then
Range("G20") = WorksheetFunction.SumIf(Range("F6:F14"), Range("F20"), Range("G6:G14"))
End If
If Range("F21")  "" Then
Range("G21") = WorksheetFunction.SumIf(Range("F6:F14"), Range("F21"), Range("G6:G14"))
End If
If Range("F22")  "" Then
Range("G22") = WorksheetFunction.SumIf(Range("F6:F14"), Range("F22"), Range("G6:G14"))
End If
If Range("F23")  "" Then
Range("G23") = WorksheetFunction.SumIf(Range("F6:F14"), Range("F23"), Range("G6:G14"))
End If
If Range("F24")  "" Then
Range("G24") = WorksheetFunction.SumIf(Range("F6:F14"), Range("F24"), Range("G6:G14"))
End If
If Range("F25")  "" Then
Range("G25") = WorksheetFunction.SumIf(Range("F6:F14"), Range("F25"), Range("G6:G14"))
End If
If Range("F26")  "" Then
Range("G26") = WorksheetFunction.SumIf(Range("F6:F14"), Range("F26"), Range("G6:G14"))
End If


Ich wollte ihn vereinfachen und nebenher etwas dazulernen und habe eine Schleife probiert.
Dabei ist dann mein Problem entstanden.
Gruß Andre

Anzeige
AW: Problem "SUMME WENN" in VBA-Code
18.05.2008 20:00:47
Daniel
HI
wozu?
dein Ansatz mit der Schleife war ja schon richtig, du hast nur RANGE und CELLS falsch kombiniert.
solange du nur eine Zelle ansprechen willst, kannst du sowohl Range("A1") als auch Cells(1, 1) wahlweise verwenden.
Bei Cells(1,1) ist es eben wesentlich einfacher, Variablen einzubauen.
Gruß, Daniel

AW: Problem "SUMME WENN" in VBA-Code
18.05.2008 19:56:03
andre
Hallo Daniel,
Danke für die Hinweise!
Das Zweite war die Lösung!
Gruß Andre

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige