Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1804to1808
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
Inhaltsverzeichnis

Variablen an Funktion übergeben

Variablen an Funktion übergeben
13.01.2021 18:11:28
M.G.
Hallo zusammen,
bin nach 20 Jahren wieder dran mich etwas in VBA/Excel hinein zu fuchsen.
Seitdem aber durch C++ versaut worden
Ich würde gerne eine Funktion/Sub erstellen, in das mindestens 2, besser 3 Variablen von der Routine übergeben werden
In dem Fall (7, 21, 10)
Und dann ganz am Ende den Integer letzter in das Hauptprogramm zurückübergibt.
Help :)
Dankeschön für Rat.
Aufrufen der Funktion/des Unterprogramms mit Übergabe der drei Variablen
Return von letzter an das Hauptprogramm.
For letzter= 7 To 21
If Cells(letzter, 10).Value = "" Then
letzter = letzter - 1
'MsgBox letzter
Exit For
End If
Next letzter

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Variablen an Funktion übergeben
13.01.2021 18:15:00
onur
Erzähl lieber, was GENAU die Funktio berechnen soll.
AW: Variablen an Funktion übergeben
13.01.2021 18:21:20
M.G.
Einfach in einem über die drei Variablen (x1,y und x2) zählen.
Sobald das Feld leer ist (ggf mache ich auch noch eine Prüfung des Folgefelds), dann ist der letzte Wert gefunden und soll ausgegeben werden.
Damit arbeiten dann weitere for Schleifen, die sonst alles ausfüllen.
Und ja es gibt mehrere Subsegmente
AW: Variablen an Funktion übergeben
13.01.2021 18:40:45
onur
Das in ein allg. Modul kopieren
Public Function Letzter(rng As Range) As Long 'rng ist der zu durchsuchende Bereich
Dim cell
For Each cell In rng
If cell = "" Then
letzter = cell.Row - 1
Exit Function
End If
Next
End Function

Aufruf: (z.B.) ZeileVonLetztemWert= Letzter(Range("B8:B50))
Du kannst sie auch in Excel als Formel benutzen:
=Letzter(B8:B14)
Anzeige
AW: Variablen an Funktion übergeben
14.01.2021 07:11:34
M.G
Dankeschön,
also muss vorher der Bereich selectiert werden....?
Ist letzter denn global, dass ich mit dem Wert dann weiterarbeiten kann?
Dankeschön
AW: Variablen an Funktion übergeben
14.01.2021 12:01:12
onur
1) Es muss gar nix selektiert werden, du musst nur einen Wert (den Bereich) übergeben statt zwei (7 UND 21).
2) Global ist es insoweit, dass es jedesmal neu berechnet wird, wenn du es brauchst - z.B. mit
IF Letzter(Range("A7:A21)"))=15 Then
.
3) Mit ZWEI Werten alleine würde VBA sowiesi nix anfangen können. - Zeile 7 bis Zeile 21, aber welche Spalte denn? Das muss jeder Code wissen, es sei denn, er arbeitet immer nur (z.B.) mit der Spalte A.
Anzeige
AW: Variablen an Funktion übergeben
14.01.2021 11:14:59
Daniel
HI
bespielsweise so:
Function MGspecial(X1, X2, optional X3)
MGspecial = letzter
End Function
im Hauptprogramm:
Ergebnis = MGspecial(7, 21, 10)
mit der Funktion IsMissung(X3) kannst du überprüfen, ob die Variable X3 angegeben wurde.
ansonsten, wenn du eine Funktion brauchst, der du eine Variable Anzahl an Parametern übergeben kannst, verwende ParamArray.
Function test(ParamArray X() As Variant)

X ist dann ein eindimensionales Array, welches die übergebenen Werte enthält, Größe kann variieren (ggf gibt es ein oberes Limit)
Gruß Daniel
Anzeige
AW: Variablen an Funktion übergeben
18.01.2021 07:23:03
M.G.
Dankeschön :)
Habe es erstmal mit globalen Variablen gelöst, werde deine Lösung aber sicher an der ein oder anderen Stelle einbauen.
Grüße Martin

36 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige