57 Aufrufe
Gefragt in Tabellenkalkulation von czerno Einsteiger (22 Punkte)

Guten Morgen liebe Community,

ich habe folgenden Sachverhalt:

Ich habe eine Arbeitsmappe mit diversen Tabellenblättern

Das erste Tabellenblatt mit dem Namen Eingabetabelle enthält folgende Tabelle:

A B C D E
Name Vorname Veranstaltung Beginn Verkettung
Mustermann Hans XXY 01.01.18 MustermannHans
Musterweg Birgit XXY 15.08.18 MusterwegBirgit
Mustermann Hans XXY 17.07.18 MustermannHans
Märchen Name XXY 13.01.18 MärchenName
Walt Disney XXY 15.04.18 WaltDisney

Das Feld E wird über die Formel Verketten generiert.

In diesem Tabellenblatt werden alle Veranstaltungen untereinander erfasst. Duplikate sind also auch möglich.

Nun möchte ich in dem Tabellenblatt Hilfstabelle eine automatisch generierte Tabelle haben, welche eine Auflistung sämtlicher Verkettungen macht aber ohne Duplikate.

Sprich er soll in dem Tabellenblatt Hilftstabelle ab der Zelle A1 folgende Auflistung machen:

MustermannHans
MusterwegBirgit
MärchenName
WaltDisney

Ich habe leider mir schon die FingerWund gegoogelt aber das was ich gefunden habe, brachte nicht den gewünschten Erfolg.

Grüße und Danke

Czerno

2 Antworten

0 Punkte
Beantwortet von m-o Profi (12.9k Punkte)
ausgewählt von halfstone
 
Beste Antwort

Hallo Czerno,

schau dir mal das hier an: Klick mich!

Oder wenn du das lieber mit einem Makro machen willst:

Sub verkettete_kopieren()
Dim lngLetzte As Long

'Im Tabellenblatt Hilfstabelle die Inhalte löschen
With Worksheets("Hilfstabelle")
 .UsedRange.ClearContents
End With

'Daten aus Spalte E im Tabellenblatt Eingabe kopieren
With Worksheets("Eingabe")
 .Range(.Cells(2, 5), .Cells(.Cells(Rows.Count, 5).End(xlUp).Row, 5)).Copy
End With

With Worksheets("Hilfstabelle")
 'Werte in A1 des Tabellenblatts
 .Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
 'letzte Zeile in Spalte A ermitteln
 lngLetzte = .Cells(Rows.Count, 1).End(xlUp).Row

 'nun eingefügte Daten sortieren
  .Sort.SortFields.Clear
  .Sort.SortFields.Add Key:=Range("A1:A" & lngLetzte), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With .Sort
        .SetRange Range("A1:A" & lngLetzte)
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
   .Range("$A$1:$A$" & lngLetzte).RemoveDuplicates Columns:=1, Header:=xlNo

End With

End Sub

Das Makro gehört in ein Standardmodul deiner Tabelle.

Gruß

M.O.

0 Punkte
Beantwortet von czerno Einsteiger (22 Punkte)
Huhu M.O.

Vielen Dank! Es hat funktioniert!

Grüße

Czerno
...