Überlauf entsteht ???
Wieviele Zeile addierst Du denn?
Der Count is eine INT Variable und sollte bis 65535 Zeilen reichen... ???
Jetzt muss man die Inhalte der Datei kennen.
Kannst Du mir die Datei mal senden:
unbekannt14 (at) vr - web.de
Ich muss aber gleich weg...
Norbert
Hans schrieb am 19.02.2010 11:34:37:
Also ich habe jetzt die Zellenangaben umgedreht und der Cursor kommt jetzt
bis zur Zeile „count = count + 1“ und im Störtext steht aber weiterhin
„Laufzeitfehler ’6’: Überlauf“.
Die Formatierung der Spalte F ist Standart. Mit Formatierung Zahl und eine Dezimalstelle funktioniert´s auch nicht.
Woran kann´s liegen?
Die 2 Comboboxen sind für die Auswahl der Suchkriterien im Userform, deshalb die Case-Fälle.
NorbertM schrieb am 19.02.2010 08:44:17:
Umdrehen, erst die Zeile, dann die Spalte
Cells(3,6).value bezieht sich auf F3
Cells(6,i).value bezieht sich auf Zeile 6 und die Spalte, die in i gespeichert ist.
Ich hatte das schon geschrieben, ich hatte den Fehler in meinem ersten Post gemacht. Alle Zellangaben sind umzudrehen. Weil Du läuft über die Zeilen, und daher muss es immer heißtn cells(i,2) für einen Eintrag in der Spalte B oder cells(i,4).value für Einen Eintrag in der zeile i in Spalte D....
Das mit der Combobox verstehe ich zwar nicht, aber das wirst Du im Griff haben, oder?
Norbert
Hans schrieb am 19.02.2010 07:47:45:
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 |