Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
580to584
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
580to584
580to584
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

An IngoG!! und alle anderen!!

An IngoG!! und alle anderen!!
03.03.2005 14:08:11
ralle
Hallo Ingo (oder alle anderen)
Hatte Dir vorhin mein Problem geschilder und Du hast mir auch eine Lösung gegeben.
Dachte es funktioniert jetzt, musste doch leider feststellen, dass das Makro nicht immer richtig summiert. Habe Dir mal nachfolgende Exceltabelle hochgeladen mit dem entsprechenden Makro. Wenn ich dies nun ausführe und die Nummer 10000 eingeben sollte als Summe 15.568,57 herauskommen. Das Makro gibt mir jedoch als ergebnis 24.014,8.
Nach meiner Meinung wird die Summe im sheet 4010 (8.445,73) nicht berücksichtigt.
Woran kann das liegen?
Gruß
ralle
https://www.herber.de/bbs/user/19159.xls

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: An IngoG!! und alle anderen!!
03.03.2005 14:32:59
UweD
Hallo
auf Blatt 4010
findet das Makro den Wert 10000 bereits in Zelle E12
mit dem Offset ergibt das dann Rückgabewert 0..
Durch Änderung des Suchranges nur auf Spalte A gehts

Sub test()
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.Columns(1).Find(strSuchen, Cells(1, 1), lookat:=xlWhole)
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

Gruß UweD
Anzeige
AW: An IngoG!! und alle anderen!!
03.03.2005 14:33:48
Holger
Hallo Ralle,
der "Fehler" liegt in der Find-Methode. In dem Blatt 4010 ist in Zelle E12 auch eine 10.000. Die findet Excel zuerst. 4 Zellen rechts daneben ist nichts, also rechnet Excel richtig.
ein Ausweg: ändere die Anweisung wie folgt:
Set rngFind = sh.Cells.Find(strSuchen, Cells(1, 1), LookAt:=xlWhole, searchorder:=xlByColumns)
Die Frage bleibt. Was geschieht, wenn in Spalte A keine 10.000 steht, aber in Spalte E eine (ist die Zelle 4 rechts neben E immer frei?!)?
Holger
10000 kommt nochmal vor!!!
03.03.2005 14:35:10
ingoG
Hallo nochmal,
das prob ist, dass in dem Sheet nochmal die 10000 vorkommt... als betrag.
also wenn Du
Set rngFind = sh.Range(A:A").Find(strSuchen, Cells(1, 1), lookat:=xlWhole)
benutzt sucht er nur in spalte a und es sollte wieder funzen.
Gruß Ingo
Anzeige
Danke an alle!!! :-))
03.03.2005 14:42:58
ralle
Hallo alle zusammen!!
Habt alle recht vielen Dank. Ihr habt mir wirklich weitergeholfen. Auf soetwas wäre ich nun wirklich nicht gekommen. Ihr seid echt super und wirklich schnell.
Wünsche allen noch einen schönen Tag!
Gruß
ralle

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige