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

Function - falsches Ergebnis

Function - falsches Ergebnis
22.07.2005 21:41:49
Matze
Guten Abend zusammen,
heute abend habe ich versucht, meine erste

Function selber zu stricken. Es kommt nicht das raus, was rauskommen müsste. Sicher kann mir einer von Euch helfen.
Die 

Function soll auf einem einem zu übergebenden Tabellenblatt in der zu übergebenden Spalte die Zeilen zählen. Was mache ich falsch ? Als Ergebnis müsste in diesem Beispiel 2 rauskommen, er zeigt aber 0 an.
Public 

Function Zeilen_zaehlen(strBlatt As String, intSpalte As Integer) As Long
Dim Zeilennummer As Long
Zeilennummer = Worksheets(strBlatt).Cells(Rows.Count, intSpalte).End(xlUp).Row
End Function

Aufruf:
intAnzahl = Zeilen_zaehlen(Einstellungen, 8)
Danke für die Tipps.
Matze

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Function - falsches Ergebnis
22.07.2005 21:46:32
Hajo_Zi
Hallo Matze,
ich habe es jetzt nicht getestet.

Public

Function Zeilen_zaehlen(strBlatt As String, intSpalte As Integer) As Long
Zeilen_zaehlen = Worksheets(strBlatt).Cells(Rows.Count, intSpalte).End(xlUp).Row
End Function


Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.


AW: Function - falsches Ergebnis
22.07.2005 21:52:28
Matze
Hallo Hajo,
danke für die superschnelle und richtige Lösung. Es ist mir zwar schleierhaft warum dort der Name der Funktion hin muss, aber ich nehme es als Gott geben hin und werde es beachten.
Danke
Matze
Anzeige
AW: Function - falsches Ergebnis
22.07.2005 22:00:00
Reinhard
Hi Matze,
vielleicht wirds dir so klarer:

Function Summe(a, b, c)
Zeilensumme= a+b+c
End Function


Function Summe(a, b, c)
Summe= a+b+c
End Function

Gruß
Reinhard
AW: Function - falsches Ergebnis
22.07.2005 22:26:13
Matze
Hallo Reinhard,
danke für deine beiden Beiträge.
Der Groschen ist bei mir noch nicht gefallen, da für mich beide Varianten das Gleiche machen müssten. Ich kann beim besten Willen nicht erkennen, warum die Variante mit der Variable Zeilensumme nicht funktionieren soll (ich gehe mal davon aus, dass Du mir dies mit dem Beispiel sagen wolltest. Die Rechenanweisung ist doch die Gleiche!
mfg
Mathias
Anzeige
AW: Function - falsches Ergebnis
22.07.2005 22:26:29
Matze
Hallo Reinhard,
danke für deine beiden Beiträge.
Der Groschen ist bei mir noch nicht gefallen, da für mich beide Varianten das Gleiche machen müssten. Ich kann beim besten Willen nicht erkennen, warum die Variante mit der Variable Zeilensumme nicht funktionieren soll (ich gehe mal davon aus, dass Du mir dies mit dem Beispiel sagen wolltest. Die Rechenanweisung ist doch die Gleiche!
mfg
Mathias
AW: Function - falsches Ergebnis
22.07.2005 22:48:52
Reinhard
Hi Matze,
i give up *g
Frage die dort:
ftp://ftp.fernuni-hagen.de/pub/pdf/urz-broschueren/broschueren/b0099911.pdf
Gruß
Reinhard
AW: Function - falsches Ergebnis
22.07.2005 22:56:21
Erich
Hallo Matze,
vielleicht bringen folgende Beispiele den Groschen ins Rollen:
Sub Test()
MsgBox "(1)  " & Kubiksumme2(3, 4)
MsgBox "(2)  " & Kubiksumme2(3, 4)
MsgBox "(3)  " & Kubiksumme3(3, 4)
MsgBox "(4)  " & Kubiksumme4(3, 4)
MsgBox "(5)  " & Kubiksumme5(3, 4)
MsgBox "(6)  " & Kubiksumme6(3, 4)
MsgBox "(7)  " & Kubiksumme7(3, 4)
End Sub
Function Kubiksumme1(ar1 As Long, ar2 As Long) As Double
'liefert 0, weil der Double-Variablen 'Kubiksumme1' kein Wert zugewiesen wird.
'(Woher soll die Funktion wissen, ob w1, w2 oder w3 als Ergebnis zu liefern wäre?)
Dim w1 As Double, w2 As Double, w3 As Double
w1 = ar1 ^ 3
w2 = ar2 ^ 3
w3 = w1 + w2
End Function
Function Kubiksumme2(ar1 As Long, ar2 As Long) As Double
'liefert den Wert von Kubiksumme2 an die aufrufende Prozedur
Dim w1 As Double, w2 As Double, w3 As Double
w1 = ar1 ^ 3
w2 = ar2 ^ 3
w3 = w1 + w2
Kubiksumme2 = w3
End Function
Function Kubiksumme3(ar1 As Long, ar2 As Long) As Double
'dito, nur kürzer
Dim w1 As Double, w2 As Double
w1 = ar1 ^ 3
w2 = ar2 ^ 3
Kubiksumme3 = w1 + w2
End Function
Function Kubiksumme4(ar1 As Long, ar2 As Long) As Double
'dito, noch kürzer
Kubiksumme4 = ar1 ^ 3 + ar2 ^ 3
End Function
Function Kubiksumme5#(ar1&, ar2&)
'dito, noch kürzer                       (mit # für Double, & für Long)
Kubiksumme5 = ar1 ^ 3 + ar2 ^ 3
End Function
Function Kubiksumme6#(ar1&, ar2&): Kubiksumme6 = ar1 ^ 3 + ar2 ^ 3: End Function
'dito, noch kürzer
Function Kubiksumme7(ar1, ar2): Kubiksumme7 = ar1 ^ 3 + ar2 ^ 3: End Function
'dito, noch kürzer, aber wegen fehlernder Typdeklarationen fehlerträchtig

Grüße aus Kamp-Lintfort
Erich
Anzeige
Danke, ich glaube es klickt gerade o.T.
22.07.2005 23:06:19
Matze
DANKE!!!
mfg Matze
AW: Function - falsches Ergebnis
22.07.2005 21:52:37
Matze
Hallo Hajo,
danke für die superschnelle und richtige Lösung. Es ist mir zwar schleierhaft warum dort der Name der Funktion hin muss, aber ich nehme es als Gott geben hin und werde es beachten.
Danke
Matze
AW: Function - falsches Ergebnis
22.07.2005 21:54:35
Reinhard
Hi Matze,

Function Zeilen_zaehlen(strBlatt As String, intSpalte As Integer) As Long
Zeilen_zaehlen = Worksheets(strBlatt).Cells(65536, intSpalte).End(xlUp).Row
End Function


Sub test()
For n = 1 To 10
Cells(n, 1) = n * 2
Next n
MsgBox Zeilen_zaehlen("Tabelle1", 1)
End Sub

Gruß
Reinhard
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige