Function-Fehler

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
InputBox MsgBox


Excel-Version: 8.0 (Office 97)
nach unten

Betrifft: Function-Fehler
von: Conny
Geschrieben am: 18.07.2002 - 14:36:08

Hallo!
kriege Fehlermeldung: Sub,Function oder Property erwartet. Warum? Öffne und schließe meine Function doch richtig, oder?

Function Ableitung(a)
Application.ThisWorkbook.Sheets("Tabelle1").Activate

'Bestimmen der Zellen
y2_hilf = 17 + 1
Text = "B" & y2_hilf
y1_hilf = 17 - 1
Text1 = "B" & y1_hilf
x2_hilf = 17 + 1
Text2 = "A" & x2_hilf
x1_hilf = 17 - 1
Text3 = "A" & x1_hilf

'Auslesen der Zellwerte
y2 = Range(Text).Value
y1 = Range(Text1).Value
x2 = Range(Text2).Value
x1 = Range(Text3).Value

'Berechnung der Steigung
m = (y2 - y1) / (x2 - x1)

Application.ThisWorkbook.Sheets("Tabelle2").Activate
b = Range("A1").Value

If m < 32 * b Then m
Else: m
End If

Ableitung = b
End Function

Danke Conny

nach oben   nach unten

Re: Function-Fehler
von: @lex
Geschrieben am: 18.07.2002 - 14:44:13

Hi Conny !
Bei ersten Anschauen:

Hier kann es nicht funktionieren
If m < 32 * b Then m
Else: m
End If

Wenn m < 32b, dann m welchen Wert soll dann m annehmen
Dann machst Du weiter:
Wenn m < 32b, dann m , sonst m
Gibt das Sinn ???

Ausserdem:
Verwende nicht Range um eine Zelle anzusprechen, sondern
Cells(zeilennummer, spaltennummer)

VG,
Alex

nach oben   nach unten

Re: Function-Fehler
von: Conny
Geschrieben am: 18.07.2002 - 14:46:54

also das m ist ja meine steigung und er soll mir jetzt egal ob die steigung kleiner oder größer als die bedingung ist, die steigung wieder ausgeben..als test..liegt es echt daran?..aber warum sagt er dann das er function erwartet?

nach oben   nach unten

Re: Function-Fehler
von: @lex
Geschrieben am: 18.07.2002 - 14:55:24

"also das m ist ja meine steigung und er soll mir jetzt egal ob die steigung kleiner oder größer als die bedingung ist, die steigung wieder ausgeben"
Sorry, wenn ich es so deutlich sage, aber wenn m immer m sein soll, ist diese If then else-Anweisung total überflüssig.

Vielleicht solltest Du weg von der derzeitgen Funktion und nochmal ganz neu aufsetzen, indem Du die Funktionen der gewünschten Funktion (tolles Deutsch :-) ) hier schilderst !



nach oben   nach unten

Beispiel...
von: @lex
Geschrieben am: 18.07.2002 - 15:02:58

Warum so kompliziert mit Range.Value

So ist eine Funktion doch erheblich einfacher :


Function ConnyFunktion(x1 As Double, x2 As Double, y1 As Double, y2 As Double) As Double
ConnyFunktion = (y2 - y1) / (x2 - x1)
End Function


nach oben   nach unten

Re: Function-Fehler
von: Conny
Geschrieben am: 18.07.2002 - 15:04:40

also: ich soll folgende excel-formel mit einem makro umsetzen:

=WENN(ABS(STEIGUNG(B16:B22;A16:A22))<16*Glättung;ABS(STEIGUNG(B16:B22;A16:A22));WENN(ABS(STEIGUNG(B18:B20;A18:A20))<32*Glättung;ABS(STEIGUNG(B18:B20;A18:A20));STEIGUNG(B19:B20;A19:A20)))

dabei muss ich mir Steigung berechnen(deswegen die Rechnung zu m) und Glättung ist ein Wert denich aus einer anderen Zelle(auf einem anderen Arbeitsblatt) übernehme(mein b)

nach oben   nach unten

So vielleicht ?
von: @lex
Geschrieben am: 18.07.2002 - 15:26:19

Wie der Name des Makros sagt: Ein Test
Ich habe es nicht ausprobiert. Das darfst Du machen: :-)


Sub Test()
Dim yWerte, xWerte  As Range
Dim Steigung, Glättung, Ergebnis As Double
Set yWerte = Application.InputBox("y", Type:=8)
Set xWerte = Application.InputBox("x", Type:=8)
Steigung = WorksheetFunction.Slope(yWerte, xWerte)
MsgBox Steigung
Glättung = Worksheets(1).Cells(1, 1).Value
Ergebnis = Abs(Steigung)
If Ergebnis < 16 * Glättung Then
    If Ergebnis < 32 * Glättung Then Ergebnis = Abs(Steigung)
    Else: Ergebnis = Steigung
End If
msgbox Ergebnis 
End Sub

VG,
Alex

 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Zugriff auf Textbox "