1. Nein, es wird nichts automatisch als beantwortet markiert.
2. wenn du die Foren als Aufgabenlösungsmaschinen betrachtest, dann bist du auch sicher bereit für diese Services entsprechend zu zahlen. Es gilt "Hilfe zur Selbsthilfe". Dein Ansinnen scheint ein Anderes zu sein.
Sobald ich "per Hand" eine Zahl oder Buchstaben als Argumente eingebe, funktioniert die Funktion nicht mehr. Hinzu verstehe ich den Code ehrlich gesagt auch nicht komplett.
Diese Funktion erwarte eine Range(Zellbereich) und keine Zahl und auch keinen Buchstaben. Für deine Prüfung sehe ich schwarz, da grundlegende Kenntnisse nicht vorhanden sind. Da wird dir auch die Hilfe für diese eine Aufgabe nicht viel bringen.
Public Function Verbinden(Bereich As Range, Optional Trenner As String = "")
Dim Args() As Variant
Dim Zelle As Range
Dim i As Long
ReDim Args(Bereich.Count) 'Array für Ergebnisswerte anhand der Zellenanzahl dimensionieren
For Each Zelle In Bereich 'Scheife über alle Zellen im Bereich
If Zelle.Text <> "" Then 'Prüfung auf leere Zelle
Args(i) = Zelle.Text 'Zelltext lückenlos in Ergebnisarray schreiben
i = i + 1 ' Arrayzählvariable erhöhen
End If
Next
ReDim Preserve Args(i - 1) 'Größe vom Ergebnisarray unter Beibehaltung der Werte anpassen
Verbinden = Join(Args, Trenner) 'Rückgabewert der Funktion zu einem Text mit dem Trennzeichen verbinden
End Function
Gruß und gute Besserung
rb
|