Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

UDF funktioniert in xls-Tabelle aber nicht in VBA

Forumthread: UDF funktioniert in xls-Tabelle aber nicht in VBA

UDF funktioniert in xls-Tabelle aber nicht in VBA
Peter
Guten Tag
Untenstehende Funktionen berechnen mir die erste, resp. die letzte Zeile eines Ranges.
So ist ergibt die in einem Worksheet eingetragene Formeln
=rErsteZeile(Beispiel) den Wert 2 und
=rLetzteZeile(Beispiel den Wert 222
Nun möchte ich diese Funktion auch im VBA benützen, wenn ich jedoch im Direktbereich
?rErsteZeile(Beispiel) oder ?rLetzteZeile(Beispiel) eingeben
Als Ergebnis erhalte ich jedoch folgende Fehlermeldung:
"Microsoft Visual Basic Fehler beim Kompilieren: Argumenttyp ByRef unverträglich"
Was muss ich ändern, dass das auch im VBA klappt?
Danke für eine Antwort.
Gruss, Peter
Function rErsteZeile(Rng As Range) As Long
rErsteZeile = Rng.Row
End Function
Function rLetzteZeile(Rng As Range) As Long
rLetzteZeile = Rng.Cells(Rng.Cells.Count).Row
End Function

Anzeige
Versuche "'PUBLIC Functtion rErsteZelle()' _oT
16.11.2010 11:11:47
NoNet
_oT = "ohne Text"
Uuuups : 'Function' natürlich mit einem 'T' !! _oT
16.11.2010 11:12:43
NoNet
_oT
AW: Uuuups : 'Function' natürlich mit einem 'T' !! _oT
16.11.2010 11:13:45
Peter
Hallo NoNet
Habe das angepasst, doch im Direktbereich lässt sich die Codezeile immer noch nicht auswerten.
Danke und Gruss, Peter
Anzeige
Function(Function(Function...... ?
16.11.2010 11:28:15
Renee
Hallo Peter,
Das sind doch etwas 'blödsinnige' Funktionen oder nicht ? Beide kannst du direkt mit dem Befehl in der Function erreichen, also warum nochmal eine Function darum herum ?
Im Direktfenster musst du nur die richtig Notation verwenden, z.B.
?rLetzteZeile(Tabelle1.[C17:G43])
GreetZ Renée
Anzeige
AW: Function(Function(Function...... ?
16.11.2010 15:11:24
Peter
Hallo Renée
Danke für deine Antwort.
In meiner konkreten Situation ist es halt so, dass ich mit benannten Bereichen arbeite, da die Bereichsnamen immer aktuell sind, wenn ich innerhalb des Bereiches Spalten oder Zellen einfüge oder lösche. Daher kam auch die Idee, im Direktbereich von einem benannten Bereich, die letzte Zeile abzufragen. Bei der Beurteilung, ob diese Idee blödsinnig ist oder nicht, wird es sicher zulässig sein, unterschiedlicher Meinung zu sein.
Gruss, Peter
Anzeige
AW: UDF funktioniert in xls-Tabelle aber nicht in VBA
16.11.2010 11:23:22
Rudi
Hallo,
das klappt doch.
Sub ttt()
Dim Beispiel As Range
Set Beispiel = Range("C2:G222")
Debug.Print rErsteZeile(Beispiel), rLetzteZeile(Beispiel)
End Sub

AW: UDF funktioniert in xls-Tabelle aber nicht in VBA
16.11.2010 15:06:05
Peter
Hallo Rudi
Vielen Dank.
Dein Beitrag hat mir bei der Umsetzung geholfen. Vielen Dank. Und ich habe zur Kenntnis genommen, dass ich mit dieser Funktion nicht direkt eine Abfrage im Direktbereich machen kann (wahrscheinlich müsste ich die Funktion so aufbauen, dass ich den Bereichsname als String übergebe).
Danke und Gruss, Peter
Set Rng = Range("Beispiel")
lngBpsEnde = rLetzteZeile(Rng)
Function rLetzteZeile(Rng As Range) As Long
rLetzteZeile = Rng.Cells(Rng.Cells.Count).Row
End Function

Anzeige
Direktfenster:nix umbauen. Richtig eingeben!
16.11.2010 15:12:12
Renee
Hi Peter,
Da muss nix umgebaut werden, nur richtig referenziert werden!
Im Direktfenster:
?rLetzteZeile(ActiveSheet.Range("Beispiel"))

funktioniert tadellos, so der Bereich dort definiert ist!
GreetZ Renée
AW: Direktfenster:nix umbauen. Richtig eingeben!
16.11.2010 15:25:45
Peter
Hallo Renée
Das hat Klarheit gebracht, vielen Dank.
Bei meinem ursprünglichen Versuch mit
?rLetzteZeile(Beispiel)
hat die Info gefehlt, dass es sich um einen Range handelt,
was nun so funktioniert:
?rLetzteZeile(Range("Beispiel")) oder
?rLetzteZeile([Beispiel])
Das ActiveSheet wäre nach meinem Verständnis nur notwendig, wenn der Name nicht für die ganze Datei gültig wäre.
Gruss, Peter
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige