Herbers Excel-Forum - das Archiv

Falsche summierung durch VBA! Hilfeee!!!

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Falsche summierung durch VBA! Hilfeee!!!
von: ralle

Geschrieben am: 03.03.2005 12:41:11
Hallo liebes Forum!
Ich habe folgendes Problem und hoffe ihr könnt mir weiterhelfen.
Habe nachfolgendes Makro:
Sub suchen_und_summieren()
Dim sh As Worksheet
Dim rngFind As Range
Dim strSuchen As String
Dim sngSum As Single
strSuchen = InputBox("Nummer?")
If strSuchen = "" Then Exit Sub
For Each sh In Worksheets
Set rngFind = sh.Cells.Find(strSuchen, Cells(1, 1))
If Not rngFind Is Nothing Then
If IsNumeric(rngFind.Offset(0, 4).Value) Then
sngSum = sngSum + rngFind.Offset(0, 4).Value
End If
Set rngFind = Nothing
End If
Next sh
MsgBox sngSum
End Sub

Bei diesem Makro werde ich aufgefordert eine Zahl einzugeben. Die Zahl wird dann in der Spalte A gesucht. Wenn diese gefunden wird, wird die dazugehörige Zahl aus der Spalte D summiert. Dies läuft über alle vorhandenen Tabellenblätter. Danach wird über eine Messagebox die Summe ausgegeben.
Dies funktioniert auch solange bis ich eine 6stellige Nummer eingebe. Gebe ich jedoch eine 5stellige Nummer ein, gibt er mir eine falsche Summe aus.
Ich muss dazusagen, das die Spalte A sowohl 5stellige als auch 6stellige Nummer enthält.
Wo liegt mein Fehler? Hoffe ihr könnt mir helfen!!!
Gruß
ralle
Bild

Betrifft: AW: Falsche summierung durch VBA! Hilfeee!!!
von: IngoG

Geschrieben am: 03.03.2005 12:53:26
Hallo Ralle,
ich nehme mal an, dass die 5-stelligen Nummern nicht eindeutig sind...
zB du suchst 12345
und er findet 612345
wenn also in deiner Auswahl dieser 5 stellige Ziffernblock vorkommt findet er ihn und zählt dann die entsprechende zahl hinzu...
versuch vielleicht mal den parameter , lookat:=xlWhole in deiner Find-methode mitzugeben...
Gruß Ingo
PS eine Rückmeldung wäre nett...
Bild

Betrifft: AW: Falsche summierung durch VBA! Hilfeee!!!
von: ralle
Geschrieben am: 03.03.2005 12:59:03
Hallo Ingo,
danke für Deine schnelle Antwort. Kenne mich nicht so gut mit dem programmieren aus. Wie genau soll ich den parameter , lookat:=xlWhole in meiner Find-methode einbauen??
Gruß
ralle
Bild

Betrifft: try this
von: IngoG
Geschrieben am: 03.03.2005 13:03:34
Hallo Ralle,
versuchs mal so...
Set rngFind = sh.Cells.Find(strSuchen, Cells(1, 1), lookat:=xlWhole)
Gruß Ingo
Bild

Betrifft: Wow!!!
von: ralle
Geschrieben am: 03.03.2005 13:09:13
Hi Ingo,
hat super funktioniert!! Hab recht vielen Dank.
Kurze Frage: Was bewirkt das "lookat:=xlWhole"
Gruß
ralle
Bild

Betrifft: Danke für die Rückmeldung
von: IngoG
Geschrieben am: 03.03.2005 13:17:34
Hallo Ralle,
der Parameter istz äquivalent zur eingabe bearbeiten suchen /optionen: Gesamten Zellinhalt vergleichen...
Gruß Ingo
Bild

Betrifft: AW: Danke für die Rückmeldung
von: ralle
Geschrieben am: 03.03.2005 14:29:40
Hallo Ingo,
habe eine neues Problem im Forum gestellt, vielleicht kannst Du mir helfen??
Gruß
Ralle
Bild

Betrifft: AW: Danke für die Rückmeldung
von: erledigt
Geschrieben am: 04.03.2005 07:57:00
OT
 Bild
Excel-Beispiele zum Thema "Falsche summierung durch VBA! Hilfeee!!!"
Bei falscher Eingabe alten Wert wiederherstellen Mehrwertsteuerberechnung von Brutto und Summierung der Mwst.
SummeWenn-Summierung über mehrere Blätter