Anzeige
Archiv - Navigation
1160to1164
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

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

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

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige