eine benutzerdefinierte Funktion soll im Direktmodus zum Laufen gebracht werden.
Wie geht man in diesem Fall in Excel 2010 vor?
Gruß
Ilka Maria
Function VERKETTEN_neu(ByRef bereich As Range, Trennzeichen As String) As String
Dim rng As Range
For Each rng In bereich
If rng "" Then
VERKETTEN_neu = VERKETTEN_neu & rng & Trennzeichen
End If
Next
If Len(VERKETTEN_neu) > 0 Then _
VERKETTEN_neu = Left(VERKETTEN_neu, Len(VERKETTEN_neu) - Len(Trennzeichen))
End Function
Wenn im Tabellenblatt =verketten_neu(A6:J6) eingegeben wird, wird 0 angezeigt obwohl in den Zellen Texte enthalten sind?
Sub aufrufen möchte?
Über einen weiteren Beitrag, der den Sachverhalt endgültig klärt, würde ich mich sehr freuen.
Gruß
Ilka Maria
Sub test()
MsgBox VERKETTEN_neu(Range("A6:J6"), " ")
End Sub
A | B | C | |
1 | Y | X | W |
2 | |||
3 | 0 | ||
4 | |||
5 | |||
6 | Y | X | W |
7 | |||
8 | Y;X;W |
Formeln der Tabelle | ||||||
|
Option Explicit
Public Function VERKETTEN_neu(ByRef rngBer As Range, strTrennz As String) As String
Dim rng As Range
For Each rng In rngBer
If rng "" Then VERKETTEN_neu = VERKETTEN_neu & rng & strTrennz
Next rng
If Len(VERKETTEN_neu) > 0 Then _
VERKETTEN_neu = Left(VERKETTEN_neu, Len(VERKETTEN_neu) - Len(strTrennz))
End Function
Sub Test()
Dim strT As String
strT = VERKETTEN_neu(ActiveWorkbook.Worksheets(1).Range("A1:J1"), "_")
MsgBox strT
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort