Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
980to984
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
980to984
980to984
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Werte aus Zellen einer Spalte auslesen

Werte aus Zellen einer Spalte auslesen
02.06.2008 10:33:00
Konni
Hallo Freaks,
mit der Recherche im Archiv habe ich leider nichts gefunden.
Folgendes Problem:
In meiner Tabelle habe ich z.B. in Spalte A Objektnummern, in Spalte B dazugehörige Positionsnummern und in Spalte C Begründungen zu den einzelnen Positionen -
-A- -B- -C-
-3- -1- -2.3-
-3- -2- -2.3-
-3- -3- -2.5-
-5- -1- -6.1-
-5- -2- -2.6-
-6- -1- -2.2-
-7- -1- -2.3-
-7- -2- -2.3-
-7- -3- -2.2-
-7- -4- -2.6-
Nun möchte ich alle unterschiedlichen Werte aus -C- (Zellen sind als Text formatiert) zur Objektnummer (variabel) aus -A- in einer anderen Zelle (z.B. D1), getrennt durch Kommata, aufzählen lassen. Doppelnennungen sollen bei gleicher Objektnummer dabei nicht vorkommen.
Vielen Dank für Eure Unterstützung!
Gruß: Konni

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Ergänzung: Werte aus Zellen einer Spalte auslesen
02.06.2008 10:48:00
Konni
Hallo Freaks,
habe eine Veranschaulichung des Ergebnisses aus 4 verschiedenen Objektnummern vergessen:
D1 = 2.3, 2.5,
D2 = 6.1, 2.6,
D3 = 2.2,
D4 = 2.3, 2.2, 2.6,
Maximal sind es bei mir bis zu 8 verschiedene Objektnummern.
Vielen Dank und Gruß: Konni

Wahrscheinlich hast du recht, aber andererseits...
02.06.2008 11:04:13
Luc:-?
...könnte doch etwas im Archiv zu finden sein, Konni!
Ist bloß so 'ne Sache mit der Recherche... Bei Clever hatte ich neulich ein ähnliches Problem gelöst.
Wenn in A alles so regelmäßig steht wie in deinem Bsp, sollte die Lösung nicht allzu schwer sein...
Zuerst musst du dich entscheiden, in welchen Zeilen von D die zusamengefassten C-Werte ausgegeben wdn sollen - in allen, nur der jeweils ersten bzw jeweils letzten. Davon hängt schon mal die Formel ab. Schließlich muss die Fml die Zellen des Wertwechsels in A erkennen (WENN) und so dynamisch den jeweils zusammenzufassenden Zeilenbereich von C bestimmen. Das könnte bei deinem Aufbau fortlfd geschehen, wenn das Ergebnis kumulativ sein soll, d.h., solange der Wert in A nicht wechselt wird zum Wert der Vorgängerzeile von C der Wert der Zeile hinzugefügt (mit Operator &), wenn der Wert der C-Zeile ≠ Wert der C-Vorgängerzeile ist. In der letzten Zeile vor Wechsel in A stehen dann alle Werte (&"," jeweils voranstellen). Die anderen, unvollständigen Zeilenwerte können dann über die bedingte Formatierung "unsichtbar" formatiert wdn. Mit etwas mehr Aufwand ist auch noch Eleganteres möglich, aber dazu habe ich gerade keine Zeit. Probier mal!
Gruß Luc :-?

Anzeige
Unter der Voraussetzung, dass die Daten...
02.06.2008 14:06:05
Luc:-?
...nach Spalte A und darunter nach C sortiert vorliegen (was bzgl C hier nicht der Fall zu sein scheint), Konni,
bietet sich hier analog dem zuvor von mir Geschriebenen folgende einfache Lösung an...
D2[:D16] - Formel (): =WENN(A2=A1;D1&WENN(C2=C1;"";", "&C2);C2) - Bed1 :=$A2=$A3 - Schriftfarbname (): Auto, bedingt: Weiß
D.h., Formel in D2 eintragen (wenn das die 1.Zelle ist, sonst Fml entsprechend ändern!) und bis zur letzten Zelle von D (hier D16) runterziehen nachdem zuvor auch die bedingte Formatierung in D2 (hier Bed1 :) mit der genannten Schriftfarbe angelegt wurde.
Die Zusammenfassung ist dann immer in der letzten Zeile vor Wechsel in A sichtbar.
Gruß Luc :-?
PS: Wen es interessiert - die Formelzeile (hier aus A18) wurde mit folgender, 2 udF enthaltender Formel wiedergegeben: =RAddress(D2)&"[:"&RAddress(D16)&"] - "&WECHSELN(WECHSELN(CellContIn(D2;1;;"Formel");18;2);19;3)&" - "&CellContIn(D2;;;"Schriftfarbname")

Anzeige
AW: Verstehe nur Bahnhof
02.06.2008 16:45:00
Konni
Hallo Luc,
ich verstehe nur Bahnhof! Sei mir nicht böse!
Gruß: Konni
P.S.
Hier im Forum gefunden und modifiziert:

Sub Doppelte_Einträge_in_Spalte_löschen() 'Doppelte Werte in Spalte AP werden gelöscht '
Dim iRow As Integer
For iRow = Range("AP19").CurrentRegion.Rows.Count To 2 Step -1
If Cells(iRow, 42) = Cells(iRow - 1, 42) Then
Cells(iRow, 42).ClearContents
End If
Next iRow
End Sub


Das Ganze funktioniert zwar, aber meine Formel in AP18 (brauche ich zum kopieren) wird dabei auch gelöscht.
Ich habe aber 8 Spalten, wo der Code laufen soll und zwar von AP(42) bis einschl. AW(49) ab Zeile 19.
Wichtig:
In den anderen Spalten sind mehre Zeilen ab Zeile 19 leer. Vorstehender Code funktioniert also nur, wenn in Zeile 19 und in der betreffenden Spalte ein Eintrag vorhanden ist.
Wie muss der Code umgestrickt werden, dass Duplikate erst ab Zeile 19 in allen 8 Spalten gelöscht werden?
Ich bekomme das nicht hin. - Vielleicht erbarmt sich jemand hier!
Viele Grüße: Konni

Anzeige
Das ist ganz allein dein Problem,...
03.06.2008 01:41:00
Luc:-?
...Konni!
Ich habe dir eine einfache Formellösung gegeben! Von VBA und Makro war in deiner Anfrage nicht die Rede.
Ein derartiges Missverständnis wäre vermeidbar gewesen, wenn du mehr Sorgfalt auf die Abfassung deiner Anfrage verwendet hättest! Auch klingt das, was du hier schreibst, ganz anders als deine Auftaktfrage... :-(
Oder bist du etwa mit deinen Anfragen durcheinandergekommen und bist selbst im falschen Thread...?
Im Übrigen hab ich was gg "CodeKids", die sich irgenwie und irgendwo irgendwelche PgmCodes zusammensuchen und dann vom Forum an ihre Bedürfnisse anpassen lassen wollen, weil sie selber keine Ahnung haben. Wie willst du denn etwas, was du nicht verstehst, im Beruf verantworten? Da könnte ja sonst was in einem Makro stehen - du würdest die Folgen sicher kaum abschätzen können!
Gruß Luc :-?

Anzeige
Lösung, aber kann jemand Code beschleunigen?
02.06.2008 18:44:31
Konni

Sub Doppeleinträge_aus_Spalten_löschen()
ScreenUpdating = False
Dim r, c As Variant
With Range("AP19:AP1018").Select
Set r = Selection.Cells
For c = r.Cells.Count To 1 Step -1
If Application.CountIf(r, r(c))  1 Then r(c).Value = ""
Next c
End With
With Range("AQ19:AQ1018").Select
Set r = Selection.Cells
For c = r.Cells.Count To 1 Step -1
If Application.CountIf(r, r(c))  1 Then r(c).Value = ""
Next c
End With
With Range("AR19:AR1018").Select
Set r = Selection.Cells
For c = r.Cells.Count To 1 Step -1
If Application.CountIf(r, r(c))  1 Then r(c).Value = ""
Next c
End With
With Range("AS19:AS1018").Select
Set r = Selection.Cells
For c = r.Cells.Count To 1 Step -1
If Application.CountIf(r, r(c))  1 Then r(c).Value = ""
Next c
End With
With Range("AT19:AT1018").Select
Set r = Selection.Cells
For c = r.Cells.Count To 1 Step -1
If Application.CountIf(r, r(c))  1 Then r(c).Value = ""
Next c
With Range("AU19:AU1018").Select
Set r = Selection.Cells
For c = r.Cells.Count To 1 Step -1
If Application.CountIf(r, r(c))  1 Then r(c).Value = ""
Next c
End With
With Range("AV19:AV1018").Select
Set r = Selection.Cells
For c = r.Cells.Count To 1 Step -1
If Application.CountIf(r, r(c))  1 Then r(c).Value = ""
Next c
End With
With Range("AW19:AW1018").Select
Set r = Selection.Cells
For c = r.Cells.Count To 1 Step -1
If Application.CountIf(r, r(c))  1 Then r(c).Value = ""
Next c
End With
End With
Application.CutCopyMode = False
Range("O19").Select
ScreenUpdating = True
End Sub


Viele Grüße: Konni

Anzeige

343 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige