Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
444to448
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
444to448
444to448
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Excel berechnet falsch (automatisch)

Excel berechnet falsch (automatisch)
24.06.2004 15:38:28
Tino
Hallo,
stehe vor einem Rätsel:
Habe eine Arbeitsmappe mit selbstprogrammierten Funktionen.
Diese Funktionen werden in 5 Tabellenblättern verwendet. Wenn ich nun in einer Tabelle etwas an den Eingaben verändere (unabhängig, ob die Funktionen verwendet werden oder nicht), verändern sich die Resultate in den anderen Tabellenblättern (da es sich um Geldbeträge handelt, ist es umso ärgerlicher), die Tabellen sind NICHT verknüpft.
Die Programmierung einer "Update"-Routine pro Tabelle hat nichts gebracht, die Anweisung Activesheet.usedrange.calculate wird für die aktive Tabelle nicht ausgeführt.
Beim Umschalten auf manuelle Berechnungen wird die Update-Routine zwar ausgeführt, allerdings beim Speichern würfelt er wieder alles durcheinander (Berechnung beim Speichern !muss! anbleiben).
So langsam bin ich am verzweifeln, hab ich was übersehen?
Gruß Tino

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

Betreff
Datum
Anwender
Anzeige
AW: Excel berechnet falsch (automatisch)
Ulf
Liegst ggf. an deinen Funktionen? Was rechnen die, poste mal was.
Ulf
AW: Excel berechnet falsch (automatisch)
24.06.2004 15:47:15
Tino
Hier meine Funktion:
aufruf in Zelle mit =Summe_oder_Max(....)

Function Summe_oder_Max(Suchkriterium As String, Suchmatrix As Range, Saldenspalte As Integer, Summierenspalte As Integer, Maximalspalte As Integer) As Double
'wenn in summierenspalte wert, dann suchen, ob wert mehrmals vorkommt und addieren der werte
'wenn in maximalspalte wert, dann suchen, ob wert mehrmals vorkommt und maximalwert bestimmen
Dim zaehler As Long
Dim maxwert As Double, summenwert As Double
Dim komplett As Range, finden As Range
Dim zeilentemp As Long, abbruch As Boolean
Dim evalue As String
evalue = ""
maxwert = 0
summenwert = 0
Set finden = Suchmatrix.Columns(Summierenspalte).Find(Suchkriterium, LookIn:=xlValues, lookat:=xlWhole)
If finden Is Nothing Then
GoTo maximalwert
Else
zeilentemp = finden.Row
summenwert = CDbl(Cells(zeilentemp, Saldenspalte).Value)
Do
zeilentemp = zeilentemp + 1
If Cells(zeilentemp, Summierenspalte).Value = Suchkriterium Then
summenwert = summenwert + CDbl(Cells(zeilentemp, Saldenspalte).Value)
End If
Loop Until zeilentemp > ActiveSheet.UsedRange.Rows.Count
End If
evalue = "summe"
GoTo Ende
maximalwert:
Set finden = Suchmatrix.Columns(Maximalspalte).Find(Suchkriterium, LookIn:=xlValues, lookat:=xlWhole)
If finden Is Nothing Then
GoTo Ende
Else
zeilentemp = finden.Row
maxwert = CDbl(Cells(zeilentemp, Saldenspalte).Value)
Do
zeilentemp = zeilentemp + 1
If Cells(zeilentemp, Maximalspalte).Value = Suchkriterium Then
If maxwert < CDbl(Cells(zeilentemp, Saldenspalte).Value) Then
maxwert = Cells(zeilentemp, Saldenspalte).Value
End If
End If
Loop Until zeilentemp > ActiveSheet.UsedRange.Rows.Count
End If
evalue = "max"
Ende:
Select Case evalue
Case "summe"
If summenwert > 0 Then
Summe_oder_Max = summenwert
Else
Summe_oder_Max = 0
End If
Case "max"
Summe_oder_Max = maxwert
Case Else
Summe_oder_Max = 0
End Select
End Function

Anzeige
AW: Excel berechnet falsch (automatisch)
Ulf
In der Funktion wird UsedRange verwendet. Das, wie auch SpecialCells,
ist nicht zuverlässig und kann in Funktionen nicht verwendet werden.
Ulf
AW: Excel berechnet falsch (automatisch)
24.06.2004 16:09:38
Tino
Danke für den Ansatz, hatte ich gar nicht bedacht,
würde aber erklären, warum beim Abspeichern bis auf die aktuelle Tabelle alle Werte nicht stimmen.
Gruß Tino.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige