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     |