Collapse column

Autor Thema: Office 2013: VBA: Funktion gibt manchmal #Wert zurück  (Gelesen 2406 mal)

Offline darkvigor

  • Newbie
  • *
  • Beiträge: 1
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Mittelmäßig
  • Version [Office] : Office 2010
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:)

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.