Ok, ich hab das wieder geändert
Das ganze sieht jetzt so aus:
Private Sub CommandButton1_Click()
Dim summe As Integer
Dim count As Integer
Select Case ComboBox3.Value
Case "6002"
Select Case ComboBox1.Value
Case "4720"
i = 1
summe = 0
count = 0
Do While Cells(2, i).Value "" Or Cells(4, i).Value ""
If Cells(2, i).Value = Cells(4, i).Value Then
summe = summe + Cells(6, i).Value
count = count + 1
End If
i = i + 1
Loop
MsgBox "Summe aus " & count & " Übereinstimmungen ist " & summe, vbInformation
End Select
End Select
End Sub
Das sub summe (und end sub mußte ich aber rausnehmen, ansonsten wurde da ständig ein Ende erwartet.
Momentan hängt er in der "summe = summe + Cells(6, i).Value" Zeile.
Es kommt der Fehler "Laufzeitfehler "6" Überlauf".
Ist das richtig, daß ich das auf Cells(6, i) geändert habe, wenn ich die Werte in Spalte F addieren will?
Ich hab wirklich noch nicht viel Erfahrung damit.
Vielen Dank für die Hilfe!
NorbertM schrieb am 18.02.2010 15:45:02:
Das wunder mich nicht:
Columns(b).Value
bezieht sich colums(b) auf die gesamte spalte,
deren nummer in der Variabe b gespeichert ist.
in b ist aber nix also ist Spalte (0) ein Indexfehler.
Wenn dann schon Columns("B") aber dann bezieht man sich auf die gesamte spalte B und ein columns("B").value gibt es nicht, weil es nur einen Wert (value) eine Zelle gibt und nicht einen Werrt value eines Ranges gibt. Nimm doch meinen Code. Warum verändern und Fehler machen?
Norbert
Hans schrieb am 18.02.2010 14:11:47:
Ich bin noch Neueinsteiger bei VBA für Excel und habe jetzt folgendes eingegeben:
Private Sub CommandButton1_Click()
Dim summe As Integer
Dim count As Integer
Select Case ComboBox3.Value
Case "6002"
Select Case ComboBox1.Value
Case "4720"
i = 1
summe = 0
count = 0
Do While Columns(b).Value "" Or Columns(d).Value ""
If Columns(b).Value = Columns(d).Value Then
summe = summe + Cells(2, i).Value
count = count + 1
End If
i = i + 1
Loop
MsgBox "Summe aus " & count & " Übereinstimmungen ist " & summe, vbInformation
End Select
End Select
End Sub
Das Makro bleibt aber immer in der "do while" Zeile hängen.
unbekannt14@vr-web.de schrieb am 18.02.2010 08:57:03:
Hans schrieb am 17.02.2010 12:56:59:
Ich brauche ein VBA Makro, welches Spalte B und Spalte D ausliest und bei Übereinstimmung mit bestimmten Werten (z.B.Spalte B = 4154 und Spalte D = 1610) die jeweiligen Werte in Spalte F addiert und das Endergebnis in eine Textbox meines UserForms einträgt.
Kann mir da jemand helfen?
Vielen Dank.
Code ungetestet aber mal als anregung
sub summiere()
i=1
summe=0
count=0
do while cells(2,i).value <>"" or cells(4,i).value <>""
if cells(2,i).value =cells(4,i).value then
summe=summe + cells(2,i).value
count=count+1
end if
i=i+1
loop
msgbox "Summe aus " & count & " Übereinstimmungen ist " & summe,vbinformation
end sub
Starten ist klar oder?
Norbert |