Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1120to1124
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
Inhalte mehrere Zellen
christian
Hallo !
Ich möchte Inhalte aus mehreren Zellen in einer Zelle zusammenfassen aber Dopplungen vermeiden.
Das Ganze sollte wie folgt aussehen:
In A1 soll alles was in A2 , A3, A4, A5 steht zusammengefasst werden. Die Inhalte in den Zellen A2-A5 sind durch ein Semikolon getrennt.
In A2 steht z.b.: SU EN NA 41; SU EN NA 42; SI EN 5;
In A3 steht z.B.: SU EN NA 41; SU EN NA 42; SI EN 7;
In A4 steht z.B.: SI EN 7; SI EN 5; GN EN 56;
Jetzt sollte in A1 nur folgendes stehen : SU EN NA 41; SU EN NA 42; SI EN 5; SI EN 7; GN EN 56;
(hinter dem letzte Wert auch ein Semikolon)
Mit =a2&a3&a4 alleine klappt das nicht ...
Wer weiß Rat ?
Viele Grüße
Christian

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Werte ohne Redundanzen - VBA-Lösung
26.11.2009 17:51:53
NoNet
Hallo Christian,
nur per Formeln/Funktionen lässt sich das nicht 100%ig lösen (an alle Kritiker : Iteration halte ich hier für zu unsicher !), aber per VBA ist das kein Problem. kopiere das folgende Makro in ein allgemeines Modul (z.B. "Modul1") im VBA-Editor :
Sub WerteOhneRedundanzen() Dim lngZ As Long, rngZelle As Range, strWerte For Each rngZelle In Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row) strWerte = Split(rngZelle.Value, ";") For lngZ = LBound(strWerte) To UBound(strWerte) If InStr([A1], Trim(strWerte(lngZ) & ";")) = 0 Then [A1] = [A1] & Trim(strWerte(lngZ)) & "; " End If Next Next End Sub Gruß, NoNet
Anzeige
AW: Inhalte mehrere Zellen
26.11.2009 18:08:55
IngGi
Hallo Christian,
NoNet war schneller, ich stell meine Lösung aber trotzdem noch hier rein, da ich das Ganze als benutzerdefinierte Funktion konzipiert habe, so dass du per Formel darauf zugreifen kannst. Kopiere den VBA-Code in ein allgemeines Modul. Dazu gehst du mit Alt+F11 in den VBA-Editor und fügst über Einfügen | Modul ein neues Modul ein.
 A
1 SU EN NA 41; SU EN NA 42; SI EN 5; SI EN 7; GN EN 56;
2 SU EN NA 41; SU EN NA 42; SI EN 5;
3 SU EN NA 41; SU EN NA 42; SI EN 7;
4 SI EN 7; SI EN 5; GN EN 56;

Formeln der Tabelle
ZelleFormel
A1=aggregat(A2:A4)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Private Function Aggregat(rngBereich As Range) As String

Dim rng As Range
Dim strAusgabe As String
Dim vntArr As Variant
Dim intElement As Integer

For Each rng In rngBereich
  vntArr = Split(rng, ";")
  Redim Preserve vntArr(Ubound(vntArr) - 1)
  For intElement = 0 To Ubound(vntArr)
    If InStr(1, strAusgabe, vntArr(intElement)) = 0 Then
      If Left(vntArr(intElement), 1) <> " " Then
        strAusgabe = strAusgabe & " "
      End If
      strAusgabe = strAusgabe & vntArr(intElement) & ";"
    End If
  Next 'intElement 
  
Next 'rng 

Aggregat = strAusgabe

End Function
Code eingefügt mit VBA in HTML 2.0.0.3size>
Gruß Ingolf
Anzeige
AW: Inhalte mehrere Zellen
26.11.2009 19:32:52
christian
Hallo Ingolf, NoNet
DANKE ! Klappt super !
Viele Grüße
Christian

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige