mittels einem Makro will ich Werte der Spalte A verketten. Die Werte sollen mit einem Komma getrennt sein und falls die Werte ein Komma haben, muss dies mit einem Punkt ersetzt werden. Die Verkettung muss so aussehen, damit ich sie in ein Statistikprogramm einlesen kann.
Hierzu habe ich folgendes Makro gebastelt:
Private Sub CommandButton1_Click()
Dim Bereich() As Variant, Verkettung As String, i As Integer, n As Integer, x As Range
n = Range(Cells(2, 1), Cells(65000, 1).End(xlUp)).Cells.Count - 1
ReDim Bereich(n)
For Each x In Range(Cells(2, 1), Cells(65000, 1).End(xlUp))
Bereich(i) = x.Value
i = i + 1
Next x
Verkettung = Join(Bereich, "; ")
Cells(4, 2).Value = Verkettung
Range("B4").Select
Selection.Replace What:=",", Replacement:="."
Selection.Replace What:=";", Replacement:=","
'ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 60#, 25.75, _
240#, 114.75).Select
'Selection.Characters.Text = Cells(2, 2).Text
'With Selection.Font
' .Name = "Courier"
' .FontStyle = "Standard"
' .Size = 10
' .Strikethrough = False
' .Superscript = False
' .Subscript = False
' .OutlineFont = False
' .Shadow = False
' .Underline = xlUnderlineStyleNone
' .ColorIndex = xlAutomatic
'End With
'Range("B2").Delete
End Sub
Anfangs wollte ich alles in ein Textfeld schreiben. Leider ging das nur bis 255 Zeichen.Deshalb schreibe ich das jetzt in eine Zelle. Hier gehen aber nur ca. 910 Zeichen. Bei mehr funktioniert das Ersetzen nicht mehr.
Hat jemand eine Lösung, wie man eine längere Verkettung mit den entsprechenden Trennzeichen hinbekommt?
Danke!
Gruß
Stefan