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

Beiträge aus den Excel-Beispielen zum Thema "Falsche summierung durch VBA! Hilfeee!!!"