Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1368to1372
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

Alle Zelleninhalte auflisten

Alle Zelleninhalte auflisten
01.07.2014 20:41:24
Frederik
Hallo, ich habe ein für mich zwar schweres, generell aber glaube ich einfach zu lösendes Problem.
Ich habe eine Tabelle, die mehrere Fälle (Zeilen) und Eigenschaften (Spalten) enthält, diese sind aber sehr ungeordnet.
Ich möchte nun einfach eine Möglichkeit, alle vorhandenen Zelleninhalte auszulesen und in einer Zeile (zur Not auch in einer Spalte) auszugeben, wobei doppelte Einträge nicht berücksichtigt werden sollen.
Ich möchte also alle verschiedenen Werte auslesen. Als Anhang eine Beispieltabelle.
Danke!
PS: Ich bin zwar sehr schlecht im Umgang mit Excel, habe aber Basiskenntnisse im Programmieren (dort aber vor allem mit Delphi und PHP).
https://www.herber.de/bbs/user/91360.xlsx

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

Betreff
Datum
Anwender
Anzeige
AW: Alle Zelleninhalte auflisten
01.07.2014 22:34:25
fcs
Hallo Frederik,
hier ein Makro, um deine Wunschliste zu erfüllen.
Die Startwerte der For-Next-Schleifen und die Ausgangszellen für die Ermittlung der letzten Spalte mit Inhalt und der letzten Zeile mit Daten in Spalte A musst du ggf. anpassen.
Gruß
Franz

'Makro in einem allgemeinen Modul
Sub Suche_ohne_Doppelte()
Dim objCol As New Collection, varElement As Variant
Dim Zeile As Long, Spalte As Long, Zeile_L As Long
Dim wks As Worksheet
On Error GoTo Fehler
Set wks = ActiveSheet
With wks
'letzte Zeile in Spalte A mit Inhalt von Zelle A3 abwärts
Zeile_L = .Cells(3, 1).End(xlDown).Row
For Spalte = 2 To .Cells(2, .Columns.Count).End(xlToLeft).Column
For Zeile = 3 To Zeile_L
If .Cells(Zeile, Spalte).Text  "" Then
objCol.Add .Cells(Zeile, Spalte).Value, .Cells(Zeile, Spalte).Text
End If
Next Zeile
Next Spalte
'Zeile für die Einträge festlegen
Zeile = Zeile_L + 4
Spalte = 0
For Each varElement In objCol
Spalte = Spalte + 1
.Cells(Zeile, Spalte).Value = varElement
Next
End With
Fehler:
With Err
Select Case .Number
Case 0 'alles OK
Case 457 'doppelter Key soll Collection hinzugefügt werden
Resume Next
Case Else
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description
End Select
End With
End Sub

Anzeige
AW: Alle Zelleninhalte auflisten
04.07.2014 10:21:40
Frederik
Danke sehr!
Entschuldigung für die verspätete Antwort, ich war in den letzten Tagen sehr beschäftigt.
Ich werde das jetzt zeitnah versuchen ;)

AW: Alle Zelleninhalte auflisten
04.07.2014 10:21:41
Frederik
Danke sehr!
Entschuldigung für die verspätete Antwort, ich war in den letzten Tagen sehr beschäftigt.
Ich werde das jetzt zeitnah versuchen ;)

Auch, wenn der gute Frederik es nicht für nötig...
04.07.2014 03:47:39
Luc:-?
…hält, Franz zu antworten, habe ich für Andere, die das interessieren mag, mal eine FmlLösung dieses Problems versucht, die aber nicht ohne mindestens einen HilfszellenBereich auskommt (ich habe der Einfachheit halber gleich 2 verwendet):
Die eigentl Hpt Fml in A14:R14: {=INDEX((B3:B9;C3:C9;D3:D9;E3:E9);{1.2.3.4.7.1.2.3.1.2.3.6.7.1.2.3.4.7};;{1.1.1.1.1.2.2.2.3.3.3.3.3.4.4.4.4.4})}
Für INDEX-Arg2 spaltenweise in 1 Zeile - G3[:J7]: {=WENNFEHLER(KKLEINSTE(WENN(HÄUFIGKEIT(VERGLEICH(B3:B9;B3:B9;0);VERGLEICH(B3:B9;B3:B9;0))=0;"";ZEILE(1:7));ZEILE(1:7));"")}
Für INDEX-Arg4 zeilenweise in 1 Zeile - L3:R6: {=MTRANS(WENNFEHLER(SPALTE(A:D)*1^G3:J9;""))} oder spaltenweise ohne MTRANS
Wer nicht über die entsprd Hilfsmittel verfügt, muss die MatrixKonstanten der HptFml leider in HandArbeit zusammenstellen. ;-]
Gruß, Luc :-?
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige