Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
728to732
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
728to732
728to732
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Funktionsaufruf durch Makro ? wie ?

Funktionsaufruf durch Makro ? wie ?
04.02.2006 20:16:32
Peter
Hallo,
Wie ruft man eine Funktion mit einem Makro auf
und übergibt das Ergebnis der Funktion?
Danke für die Hilfe
Peter

Sub Probe()
'Set rngBereich = Worksheets("Tabelle1").Range("A1:B20")
'Range("D1").Value = DatZell
End Sub


Function DatZell(rngBereich As Object)
Dim intCounter As Integer
Dim rngAct As Range
For Each rngAct In rngBereich
If IsDate(rngAct.Value) Then
intCounter = intCounter + 1
End If
Next rngAct
DatZell = intCounter
End Function

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Funktionsaufruf durch Makro ? wie ?
04.02.2006 20:23:36
MichaV
Hallo,
ungetestet;

Sub Probe()
Set rngBereich = Worksheets("Tabelle1").Range("A1:B20")
Range("D1").Value = DatZell (rngBereich)
End Sub

Gruß- Micha
PS: Rückmeldung wäre nett.
AW: Funktionsaufruf durch Makro Fehlermeldung
05.02.2006 07:20:59
Peter
Hallo,
erst mal Danke für Deine Hilfe.
Leider funktioniert das Makro nicht.
Ich erhalte folgende Fehlermeldung:
' Argumenttyp ByRef unverträglich
Peter

Sub Probe()
Set rngBereich = Worksheets("Tabelle1").Range("A1:B20")
Range("D1").Value = DatZell(rngBereich)
End Sub


Function DatZell(rngBereich As Object)
Dim intCounter As Integer
Dim rngAct As Range
For Each rngAct In rngBereich
If IsDate(rngAct.Value) Then
intCounter = intCounter + 1
End If
Next rngAct
DatZell = intCounter
End Function

Anzeige
AW: Funktionsaufruf durch Makro Fehlermeldung
05.02.2006 09:02:48
Ralf
Hi Peter,
Du kannst den Bereich nicht als Referenz übergeben (das bedeutet, der Wert im Speicher würde überschrieben werden), sondern musst ihn als Wert übergeben. Das Programm arbeitet dann quasi mit einer Kopie des Wertes. Ändere den Funktionskopf folgendermaßen um:
Function DatZell(ByVal rngBereich As Object)
Ciao, Ralf

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige