Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
176to180
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
176to180
176to180
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Funktionen aufrufen

Funktionen aufrufen
09.11.2002 16:10:00
Otto Sauermann
Schönen Tag!

Ich hätte mal eine ganz peinliche Frage:
Ich habe schon öfters einen Code gefunden, der als Funktion dargestellt war.
Jetzt quält mich die Frage:
Wenn ich diese Funktion in ein Excel-Modul einfüge und diese dann ausführen will (mit F5 oder Einzelschritt F8), dann geht das nicht!
Weiß bitte jemand, was ich tun muß, um diese Funktion "funktionsfähig" zu machen? Nachfolgend habe ich euch eine solche Funktion hinenkopiert, vielleicht kann mir jemand helfen, indem er mir schreibt, wie ich diesen Code ausführen kann!

Public Function InUnterVerzSuchen(VerzPfad As String, DateiTyp As String, Attrib As Integer)
Dim VerzName As String, DateiName As String, VerzListe() As String, DateiNr As Integer
Dim VerzNr As Integer, DateiListe() As String, TempListe, Nr As Integer

' Liste mit Dateinamen erstellen
DateiName = Dir$(VerzPfad & "\" & DateiTyp, Attrib)
DateiNr = 0

While DateiName <> vbNullString
If (DateiName <> ".") And (DateiName <> "..") Then
DateiNr = DateiNr + 1
ReDim Preserve DateiListe(1 To DateiNr)
DateiListe(DateiNr) = VerzPfad & "\" & DateiName
End If
DateiName = Dir$()
Wend

' Liste mit Unterverzeichnissen erstellen
VerzNr = 0
VerzName = Dir$(VerzPfad & "\", Attrib Or vbDirectory)
While VerzName <> vbNullString
If (VerzName <> ".") And (VerzName <> "..") Then
' Handelt es sich um ein Verzeichnis ?
If GetAttr(VerzPfad & "\" & VerzName) And vbDirectory Then
VerzNr = VerzNr + 1
ReDim Preserve VerzListe(1 To VerzNr)
VerzListe(VerzNr) = VerzName
End If
End If
VerzName = Dir$() ' Nächsten Datei- oder Verzeichnisnamen holen
Wend

' Rekursiver Aufruf, um Unterverzeichnisse zu durchsuchen
For VerzNr = 1 To VerzNr
TempListe = InUnterVerzSuchen(VerzPfad & "\" & VerzListe(VerzNr), DateiTyp, Attrib)
If IsArray(TempListe) Then
For Nr = LBound(TempListe) To UBound(TempListe)
DateiNr = DateiNr + 1
ReDim Preserve DateiListe(1 To DateiNr)
DateiListe(DateiNr) = TempListe(Nr)
Next Nr
End If
Next VerzNr
If DateiNr = 0 Then InUnterVerzSuchen = False Else InUnterVerzSuchen = DateiListe()
End Function

Vielen Dank für Eure Bemühungen,
Liebe Grüße und schönes Wochenende wünscht euch
Otto!

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Funktionen aufrufen
09.11.2002 16:27:13
Claus Müller
Sie müssen nur die Funktion im Direktfenster (aktivieren mit STRG+G) mit "?" aufrufen.
Also:
? InUnterVerzSuchen(..., ..., ...)
ins Direktfenster schreiben und Enter drücken.
Im Code können Sie dann auch einen Haltepunkt setzen um mit F8 zu debuggen.
Ich hoffe das war die Frage?
Gruß C.M.
Re: Funktionen aufrufen
09.11.2002 16:42:10
Otto Sauermann
Schönen Dank für die Antwort!

Leider funktioniert es mit dem vorhin angeführten Beispiel noch immer nicht - es rührt sich gar nix.

Im Gegensatz dazu, wenn ich folgende Funktion ausprobiere, dann geht's:

~
Function Test()
Cells(1,1) = "Hallo"
End Function
~

Warum das andere Beispiel nicht funktioniert, bleibt mir nach wie vor ein Rätsel! Ich glaube, da fehlt noch irgendwas, damit ich diese Funktion aufrufen kann, denn wenn ich mein hier funktionierendes Beispiel so eingebe, dann geht's auch nicht:

~
Function Test(text as string)
Cells(1,1) = "Hallo"
End Function
~

Kann mir bitte noch jemand helfen?

Vielen, vielen Dank im voraus für alle Antworten!
Otto!

Anzeige
Re: Funktionen aufrufen
09.11.2002 16:45:57
PeterW
Hallo Otto,

Functions werden Werte übergeben und dienen dazu, Rückgabewerte zu liefern. Wenn Du nur Aktionen ausführen willst nimm normale Subs.

Gruß
Peter

Re: Funktionen aufrufen
09.11.2002 16:48:21
Michael Scheffler
Hallo Otto,

Peter hat recht, außerdem muss eine Function, die aus einer Zelle aus aufgreufen wir, am Anfang:

Application.Volatile

enthalten.

Gruß

Micha

Re: Funktionen aufrufen
09.11.2002 17:18:10
Otto Sauermann
Hallo, an Alle!

Schönen Dank für Eure Hilfe,
inzwischen bin ich auch draufgekommen wie man eine Funktion aufruft.
Um euch das nicht vorzuenthalten, schicke ich den Code mit, vielleicht gibt's mal jemanden, den mein Problem auch "bewegt"!


~
'---- Funktion ----
'Existiert eine Datei?

Public Function FileExists(File As String) As Boolean
On Error Resume Next
FileExists = False
FileExists = Dir(File) <> ""
End Function

' ---- Aufruf der Funktion ----

Sub Aufruf()
Datei = Cells(1, 1).Value
FileExists (Datei)
If Cells(1, 1) = Datei Then
MsgBox ("Datei vorhanden")
Else
MsgBox ("nicht vorhanden")
End If
End Sub
~

Schönen Dank nocheinmal, und schönes Wochenende wünscht euch

Otto!

Anzeige

20 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige