Collapse column

Beiträge anzeigen

Diese Sektion erlaubt es dir alle Beiträge dieses Mitglieds zu sehen. Beachte, dass du nur solche Beiträge sehen kannst, zu denen du auch Zugriffsrechte hast.


Nachrichten - darkvigor

Seiten: [1]
1
Excel / Office 2013: VBA: Funktion gibt manchmal #Wert zurück
« am: Juli 04, 2013, 14:45:39 Nachmittag »
Hallo zusammen,

ich habe in  diesem Forum schon einige Beiträge gefunden, die mir immens bei bei Studienarbeit weitergeholfen haben. Vielen Dank zunächst einmal dafür.

Ich stehe im Moment vor einem Problem, an welchem ich mir schon mittlerweile fast eine WOche die Zähne ausbeiße:

Ich habe eine FUnktion als Makro in Excel 2013 geschrieben, welche mir die summe von einem bestimmten Bereich ausgeben soll. Hier zunächst der Code
____________________________________________________________________________
Function Kriteriumsgewichtung(zelleKriterium As Range, BereichKriterium As Range) As Double
'Als zelle wird der EIntrag mit der Bewertung übergeben
'BereichKriterium ist mehr eine Art Dummyvariabel es muss der Bereich mit den Bewertzungszahlen ausgewählt werden damit Excel merkt, dass aktualisiert wurde
Dim zeile As Integer
Dim spalte As Integer
Dim suchspalte As Integer
Dim zeileoben As Integer
Dim zeileunten As Integer



'Auswertung der Posi
zeile = zelleKriterium.Row
spalte = zelleKriterium.Column

'Gehe in die spalte mit dem Kategorievermerk
suchspalte = spalte - 2
zeileoben = zeile
zeileunten = zeile

'Ermittlung der oberen Grenze
Do While Cells(zeileoben, suchspalte).Value <> "x"
zeileoben = zeileoben - 1
Loop
zeileoben = zeileoben + 1

'Ermittlung der unteren Grenze
Do While Cells(zeileunten, suchspalte).Value <> "x"
zeileunten = zeileunten + 1
Loop
zeileunten = zeileunten - 1

'Bildung der Bewertungssume
Dim zelleBewertung As Range
Dim summe As Double

For Each zelleBewertung In Range(Cells(zeileoben, spalte), Cells(zeileunten, spalte))
    summe = summe + zelleBewertung.Value
Next zelleBewertung

'Proz. Gewichtung
Kriteriumsgewichtung = zelleKriterium.Value / summe


End Function
__________________________________________________________________________

Das Problem was ich nun habe ist, dass die Funktion hin und wieder #Wert zuürckggibt. Das zerschießt mir mein ganzes Programm, da die folgenden Rechnungen auf den Ergebnissen dieser Funktion basieren. Wenn ich in die Spalte gehen und alle Zellen mi F2 und Enter aktualisiere geht es dann wieder. Aber der Fehler tritt immer mal wieder auf.

Ich habe schon mit wennfehler, automatischer Sheet Aktualisierungen bei Änderungen und sendKey befhlen probiert. Bisher keine Besserung. Hoffe ihr könnt mir helfen.

Ach im Screenshot wird ersichtlich auf was die Funktion zurückgreift. Im Prinzip soll sie nur einen Bereich zwischen zwei x-sen summieren

Hoffe ihr könnt mir helfen:)

Seiten: [1]