Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Inhalte mehrere Zellen in eine Zelle

Inhalte mehrere Zellen in eine Zelle
Helmut
Hallo Excel-VBA Profis,
ich möchte den Inhalt mehrerer Zellen in eine bestimmte Zelle eintragen lassen. Mit VERKETTEN geht das nicht, weil ja jedesmal die Anzahl der Zellen (mal sind es 20, mal sind es 55 usw.) variiert. Dazu kommt noch, dass nach jedem Wert einer Zelle ein Komma stehen soll und nach einer Leerstelle der neue Wert der nächsten Zelle folgen soll.
Ich denke das geht nur mit VBA. Kann mir jemand von Euch bitte behilflich sein, wie ich das lösen könnte?
Vielen Dank im voraus
Helmut
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Inhalte mehrere Zellen in eine Zelle
08.06.2010 21:30:15
Josef

Hallo Helmut
da hilft eine leine UDF.
in der Tabelle wird sie so verwendet.
 ABCD
1a a, b, d, g, h, l, m, n, p 
2b   
3    
4d   
5    
6    
7g   
8h   
9    
10    
11    
12l   
13m   
14n   
15    
16p   
17    

Formeln der Tabelle
ZelleFormel
C1=verkettenm(A1:A16;", ")


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Und in ein allgemeines Modul kommt dieser Code.

' **********************************************************************
' Modul: Modul2 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Public Function VerkettenM(Bereich As Range, Optional Trenner As String = "", Optional Leerzellen As Boolean = False) As String
  Dim str As String
  Dim rng As Range
  
  For Each rng In Bereich
    If rng <> "" Or Leerzellen Then
      str = str & rng & Trenner
    End If
  Next
  
  VerkettenM = Left(str, Len(str) - Len(Trenner))
End Function

Gruß Sepp

Anzeige
AW: Inhalte mehrere Zellen in eine Zelle
08.06.2010 21:34:19
Gerd
Hallo Helmut,
der Quellbereich ist eine Zeile oder eine Spalte
oder ein Rechteck
oder diverse nicht zusammenhängende Zellen?
Bei letzten beiden: Wie soll angeordnet werden, zeilenweise oder spaltenweise?
Gruß Gerd
VBA Vorschlag
08.06.2010 21:44:29
Steffen
Hallo Helmut,
Der Nachfolgende Code verkettet die Inhalte in Spalte A und gibt sie in B1 wieder aus.
Sub Kette() Dim myArray Dim lngLastRow As Long, i As Long, n As Long With Sheets("Tabelle1") lngLastRow = .Cells(Rows.Count, 1).End(xlUp).Row myArray = .Range(.Cells(1, 1), .Cells(lngLastRow, 1)) Redim myArray(1 To Ubound(myArray, 1)) For i = 1 To Ubound(myArray) If .Cells(i, 1) <> "" Then n = n + 1 myArray(n) = .Cells(i, 1) End If Next Redim Preserve myArray(1 To n) .Cells(1, 2) = Join(myArray, ",") End With End Sub
Grüße
Steffen
Anzeige
UDF VERKETTEN2()
08.06.2010 22:38:35
NoNet
Hallo Helmut,
hier noch mein Vorschlag per VBA :
Function Verketten2(rngBereich, Optional strTrennzeichen = ", ", _
Optional bolLeerzellen As Boolean = True)
'Makro zum Verketten aller Zellen im angegebenen Bereich
'Aufruf : =VERKETTEN2(A1:E1;"-") oder =VERKETTEN2(A1:E1;", ";WAHR)
'oder :   =VERKETTEN2(A1:A15;;0)
'08.06.2010, NoNet - www.excelei.de
Application.Volatile
Dim strTmp As String, rngZelle As Range
strTmp = ""
For Each rngZelle In rngBereich
If bolLeerzellen Or rngZelle.Value  "" Then
strTmp = strTmp & rngZelle & strTrennzeichen
End If
Next
Verketten2 = strTmp
End Function
Gruß, NoNet
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Inhalte mehrerer Zellen in eine Zelle


Schritt-für-Schritt-Anleitung

Um Inhalte aus mehreren Zellen in eine Zelle zu kopieren und sie mit einem Komma zu trennen, kannst du die folgende VBA-Funktion verwenden. Diese Methode ist besonders nützlich, wenn die Anzahl der Zellen variiert.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke im Menü auf Einfügen und wähle Modul.

  3. Kopiere den folgenden Code in das Modul:

    Public Function VerkettenM(Bereich As Range, Optional Trenner As String = ", ", Optional Leerzellen As Boolean = False) As String
       Dim str As String
       Dim rng As Range
    
       For Each rng In Bereich
           If rng <> "" Or Leerzellen Then
               str = str & rng & Trenner
           End If
       Next
       VerkettenM = Left(str, Len(str) - Len(Trenner))
    End Function
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Verwende die Funktion in einer Zelle, um die Inhalte mehrerer Zellen zu verketten. Zum Beispiel:

    =VerkettenM(A1:A16, ", ")

Diese Formel wird die Inhalte der Zellen A1 bis A16 in einer Zelle zusammenführen, getrennt durch ein Komma.


Häufige Fehler und Lösungen

  • Fehler: Die Funktion gibt einen Fehler zurück, wenn der Bereich leer ist.

    • Lösung: Stelle sicher, dass der Bereich, den du übergibst, tatsächlich Zellen mit Inhalten enthält.
  • Fehler: Die Ausgabe enthält ein zusätzliches Komma am Ende.

    • Lösung: Überprüfe die Logik in der VBA-Funktion, um sicherzustellen, dass das letzte Komma entfernt wird.
  • Fehler: Die Funktion funktioniert nicht mit nicht zusammenhängenden Zellen.

    • Lösung: Stelle sicher, dass der übergebene Bereich zusammenhängend ist oder passe die Funktion entsprechend an.

Alternative Methoden

Du kannst auch die Excel-Funktion TEXTVERKETTEN verwenden, um mehrere Zellen zusammenzuführen, wenn du Excel 365 oder Excel 2021 nutzt. Die Syntax ist wie folgt:

=TEXTVERKETTEN(", ", WAHR, A1:A16)

Dies ist eine einfache Methode, um mehrere Zellen in einer Zelle zusammenzufassen, ohne VBA.


Praktische Beispiele

Hier sind einige Beispiele, wie du Inhalte aus mehreren Zellen in eine Zelle kopieren kannst:

  • Beispiel 1: Wenn du eine Liste von Namen in den Zellen A1 bis A5 hast, kannst du die folgende Formel verwenden:

    =VerkettenM(A1:A5, ", ")
  • Beispiel 2: Wenn du den Inhalt von Zellen in einer Spalte zusammenfassen möchtest, kannst du auch den Bereich anpassen:

    =VerkettenM(B1:B10, ", ")

Tipps für Profis

  • Nutze die Option Explicit Zeile am Anfang deiner Module, um sicherzustellen, dass alle Variablen deklariert sind. Dies hilft, Fehler zu vermeiden.
  • Experimentiere mit verschiedenen Trennzeichen, um die Ausgabe an deine Bedürfnisse anzupassen.
  • Wenn du häufig mit solchen Funktionen arbeitest, kannst du dir eine Bibliothek mit nützlichen VBA-Funktionen erstellen.

FAQ: Häufige Fragen

1. Frage
Wie kann ich mehrere Zellen in eine Zelle einfügen, ohne VBA zu verwenden?
Antwort: Du kannst TEXTVERKETTEN oder VERKETTEN (für ältere Excel-Versionen) verwenden, um Inhalte zusammenzuführen.

2. Frage
Kann ich auch Werte aus verschiedenen Blättern in eine Zelle zusammenfassen?
Antwort: Ja, du kannst die Funktion so anpassen, dass sie auf Bereiche in anderen Blättern verweist, indem du den Blattnamen in der Formel angibst, z.B. =VerkettenM(Tabelle2!A1:A10, ", ").

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige