Anzeige
Archiv - Navigation
1188to1192
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

VBA verketten von Zellen

VBA verketten von Zellen
Zellen
Hallo,
ich möchte gerne bestimmte Zellen verketten.
Beispiel: Ab Zeile 5 (bis zum Ende) -> Spalte C bis E -> Ergebis soll in Spalte F stehen. Die einzellnen Zellen pro Zeile sollen durch ein , "Komma" getrennt werden.
Leider funkioniert mein Versuch nicht so richtig, wo hab ich da den Fehler?
Kann mir da wer helfen?
Danke und Gruß
Dirk
Dim str As String Dim i As Long Dim z As Long For z = 5 To .Cells(Rows.Count, 2).End(xlUp).Row For i = 3 To 5 str = str & .Cells(z, i).Value & ", " Next i .Cells(z, 6).Value = str Next z

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Der With-Rahmen fehlt!
13.12.2010 13:01:52
F1
F1
AW: Der With-Rahmen fehlt!
13.12.2010 13:26:27
Dirk
Hallo F1
meinst du so?
Wenn ja, geht trotzdem nicht.
Gruß Dirk
Sub verketten()
Dim str As String
Dim i As Long
Dim z As Long
With Worksheets("Tabelle1")
For z = 5 To .Cells(Rows.Count, 2).End(xlUp).Row
For i = 3 To 5
str = str & .Cells(z, i).Value & ", "
Next i
.Cells(z, 6).Value = str
Next z
End With
End Sub

AW: VBA verketten von Zellen
13.12.2010 13:10:32
Zellen
HAllo Dirk
Versuch mal so:
Tabelle1

 CDEFG
5OMGO,M,G 
6UIFU,I,F 
7EVDE,V,D 
8HURH,U,R 
9PDWP,D,W 
10BDUB,D,U 
11HXLH,X,L 
12NJEN,J,E 
13ERAE,R,A 
14YXXY,X,X 
15LLGL,L,G 
16     

Formeln der Tabelle
ZelleFormel
F5=joinen(C5:E5;",")


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
' **********************************************************************
' Modul: Verketten Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Public Function joinen(Bereich As Range, Optional Trenner As String = " ")
    Dim a() As Variant
    Dim zellen As Range
    Dim L As Long
    Redim a(Bereich.Count)
    For Each zellen In Bereich
        If zellen.Text <> "" Then
            a(L) = zellen.Text
            L = L + 1
        End If
    Next
    Redim Preserve a(L - 1)
    joinen = Join(a, Trenner)
End Function


ransi
Anzeige
AW: VBA verketten von Zellen
13.12.2010 13:22:56
Zellen
Hallo ransi,
vielen Dank für die Function, klappt so prima :-)
Würde es aber gerne über ein "Makro" lösen, da die Verkettung immer dann ausgelöst werden soll, wenn im Bereich Spalte C bis E Werte oder Veränderungen eingetragen werden.
Hast du da auch eine Idee für?
Danke
Gruß Dirk
AW: VBA verketten von Zellen
13.12.2010 13:31:31
Zellen
Hallo Dirk
da die Verkettung immer dann ausgelöst werden soll, wenn im Bereich Spalte C bis E Werte oder Veränderungen eingetragen werden.
Genau das ist doch der Sinn der Funktion...
Teste mal
ransi
Wert statt Formel
13.12.2010 13:37:46
Dirk
Hallo ransi,
ja, ganau das macht die Function!
Nur würde ich gerne nur das Ergebnis in der Zelle stehen haben und nicht die Function selbst (=joinen(C5:E5;",")).
Danke
Gruß Dirk
Anzeige
...und warum nur, bitteschön?! :-X owT
13.12.2010 14:01:06
Luc:-?
:-?
Fehler:VBA statt einfache C1&","&D1 Formel (owT)
13.12.2010 13:30:24
Renee

Lösung gefunden :)
13.12.2010 14:56:03
Dirk
Hallo,
habe eine Lösungsvariante gefunden :)
Danke für die Unterstützung!
Gruß Dirk
Private Sub Worksheet_Change(ByVal Target As range)
Dim str As String
Dim rng As range
Dim i As Long
Set rng = range("C5:E" & Cells(Rows.Count, 2).End(xlUp).Row)
If Target.Cells.Count = 1 And Not Application.Intersect(rng, Target) Is Nothing Then
Application.EnableEvents = False
For i = 3 To 5
str = str & Cells(Target.Row, i).Value & ","
Next i
Cells(Target.Row, 6) = str
End If
Application.EnableEvents = True
End Sub

Anzeige

21 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige