Excel Tabelle in eine "Liste" umwandeln

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

geht in einem Schub nur mit einem Makro:

Sub BereichAlsSpalteListen() 'Vorr: markierter Bereich
Dim c
'Range("B32:V44").Select 'optional, ist auskommentiert. ggf. Bereich anpassen
Activesheet.Range("B99") = "einspaltige Liste aus Bereich:"
Activesheet.Range("B100") = Selection.address

For Each c In Selection
On Error Resume Next

If IsError(c.Value) Or c.Value = False Then
GoTo weiter
'hier kein Doppelpunkt!
Else
Range("B99").End(xlDown).Offset(1, 0).Value = c.FormulaLocal
End If
weiter:
'weiter ist eine so benannte Zeile, auch Sprungmarke genannt. Der : ist unbedingt nötig!
Next

End Sub

Das kopiert von links nach rechts und dann zeilenweise nach unten in den Bereich B102:Bnn. Formeln würden dabei erhalten bleiben mit ihren ursprünglichen Bezügen.
Alles was Falsch oder Fehler (#Bezug!, #Wert!, #Div/0! etc) ergibt, wird übersprungen, auch leere Zellen.

Willst Du den Bereich erst von oben nach unten und dann erst spaltenweise von links nach rechts auswerten, musst Du ihn erst stürzen (dabei musst Du auf den Erhalt von Formeln verzichten):
kopiere den Bereich. Geh auf einen ausreichend großen freien Platz (nicht persönlich, sondern mit dem Cursor ;), wähle Inhalte einfügen, Werte und setz das Häkchen bei Transponieren.
bevor Du das Makro startest, musst Du den Bereich auswählen (mit shift+Pfeiltasten oder Maus markieren)! (Selection ist die Auswahl, for each c in Selection liest xl als Prüfe jede Zelle der Auswahl)
Der Bereich B99 und unterhalb wird überschrieben, falls da was drinsteht! ggf andere Adresse ins Makro schreiben!

Eine gute Anweisung zur Installation eines Makros/einer Funktion kam mal von Suboptimierer in
www.gutefrage.net/frage/formel-problem-bei-ms-excel
(als Kommentar recht weit unten in der hilfreichsten Antwort)

wenn Du keine Formeln übernehmen willst, schreib im Makro anstelle von
c.FormulaLocal
einfach
c.Value
Dann werden nur die fixen Werte übertragen bzw die Formelergebnisse als fixe Werte.

0
@Iamiam

Hab Dir noch ein Makro auf Deine speziellen Daten zurechtgestrickt:

Sub BereichSZinSpaltenListen()
Dim s, Sl, Sr, z, Zo, Zu 'Spalte links 2=B , Spalte rechts 22=V , Zeile oben 32 , Zeile unten 44 ist Vorgabe googleFTW Sl = 2: Sr = 22: Zo = 32: Zu = 44 '<<ggf neu definieren! getestet mit 2,5,95,98
Activesheet.Range("B99") = Now 'Now: Zelle formatieren =>Datums-/Zeit-ZAHL, oder als Text: Format(Now, "d.MMM'YY, hh:mm")
Range("B100") = Range(Cells(Zo, Sl), Cells(Zu, Sr)).Address
For s = Sl To Sr 's = Sl To Sr wenn erst s(s aussen, z innen):erst nach unten, dann weitere Spalten
For z = Zo To Zu 'z = Zo To Zu wenn erst z(z aussen, s innen):erst nach rechts, dann weitere Zeilen
On Error Resume Next
If IsError(Cells(z, s).Value) Or Cells(z, s).Value = False Then
GoTo weiter
Else
Range("B99").End(xlDown).Offset(1, 0).Value = Cells(z, s).Value 'oder .FormulaLocal :übernimmt dann Formeln
End If
weiter:
Next z 's,z korrespondierend zu For ... vertauschen: innen<=>innen, aussen<=>aussen jeweils gleich
Next s
Range("B99:B999").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove 'schiebt kopierte Daten eins nach rechts
End Sub

in der vorliegenden Form werden erst die Zellen einer Spalte gelistet, dann die der nächsten Spalte: anders als beim ersten µ, aber einstellbar.
Wenn Du den Zielbereich ändern willst, musst Du mehrere Adressen ändern! Das Makro macht das ursprüngliche Zielgebiet wieder frei, die gewünschte Formatierung in B99:B100 (und ggf darunter) solltest Du in den entsprechenden Zellen der Spalte A einfügen, sie werden dann immer beim Versetzen der alten in die neuen leeren Zellen kopiert. ich hoffe, Du kommst damit zurecht!

0

Also spontan fällt mir nur ein, dass ganze "zu Fuß" zu machen, zumal es sich in diesem Fall ja um eine überschaubare Anzahl an Daten handelt. Soll heissen: z.B. die Daten in Spalte C markieren, rechte Maustaste drücken, ausschneiden und unter Spalte B wieder einfügen (vorher natürlich auch die rechte Maustaste drücken), dann das gleiche mit Spalte D usw. Die Zellen, in denen FALSCH steht können anschließend einfach gelöscht werden. Das System fragt dann automatisch, ob die darünterliegenden Zellen nach oben geschoben werden sollen. Das dann einfach anklicken und et voilá - eine neue Liste ist fertig.

das ist nicht der sinn von excel. alle werte in der tabelle sind abhängig von anderen variablen, sodass ich das theoretisch jedes mal machen müsste, wenn ich eine variable ändere.

0

Eventuell könnte dann der allseits beliebte SVERWEIS helfen (findest du unter FUNKTIONEN). Ist jetzt allerdings etwas kompliziert den SVERWEIS hier zu erklären bzw. wäre es natürlich besser, wenn ich die Tabelle sehen könnte. Aber ich nehme mal an, du hast den eh schon ausgetestet?

0

Wie vergleiche ich Werte in den Spalten D&F und markiere sie rot, gelb und grün sodass sich bei veränderung der Werte die Farbe automatisch ändert?

Ich muss bei einer Inventurliste die Zellen der Spalten D & F vergleichen und farbig markieren. Wenn der Wert in Spalte D größer ist als der Wert ins Spalte F müssen die Zellen gelb werden, Wenn der Wert der Spalte D kleiner ist als der Wert in F dann müssen die Zellen rot werden. Sollten beide Werte gleich sein müssen die Zellen grün werden.

Wenn man die Werte verändert soll sich die Farbe automatisch anpassen. Es handelt sich bei der Liste um eine Liste mit knapp 2000 Zeilen. Leider weiß ich nicht wie das geht. :(

Ich hoffe hier kann mir jemand helfen.

...zur Frage

Mehrere werte in einer Zelle?

Also mein Problem ist das in einer Zelle z.b. die werte 6,7,8 stehen und ich nun anhand einer wenn Funktion also wenn z.b.  in zelle b7 6 steht dann nehm aus zelle G11 den wert und rechne das mit dem wert aus K12 zusammen die wenn Funktion bekomme ich hin das Problem ist das er die werte nicht einzeln erkennt und alle Zellen trennen würde die ganze Tabelle unübersichtlich machen.

...zur Frage

Excel - automatisch ermitteln, wie weit eine Formel ziehen?

Hallo zusammen,

ich habe eine Excel (2016) Tabelle, in der in Tabelle 1!Spalte A Werte stehen. Manchmal nur zehn, manchmal mehrere Hundert.
In Tabelle 2!Spalte A habe ich eine Berechnung stehen, die sich direkt auf die Zellen der ersten Tabelle bezieht.
Da sich nun die Anzahl der Rohwerte ständig ändert, muss ich bei der Berechnung die Formel jedes mal so weit nach unten ziehen wie ich Werte habe. Kann man dies umgehen, indem Excel automatisch die Anzahl der Werte in Tabelle 1!Spalte A ermittelt und in Tabelle 2!Spalte A die Berechnung automatisch so weit nach unten zieht wie nötig?

Vielen Dank für Eure Antworten.
LG

Tabelle 1!Spalte A ..... Tabelle 2!Spalte A

1 ..................................=Tabelle 1!A110

2 ..................................=Tabelle 1!A210

3 ..................................=Tabelle 1!A310

4 ..................................=Tabelle 1!A410

5 ..................................=Tabelle 1!A510

6 ..................................=Tabelle 1!A610

...zur Frage

Excel Hintergrundfarbe zählen?

Hi Leute,

ich habe mit Excel 2010 eine Liste zusammengestellt. In Spalte A Stehen alle Leute, die auf einer Internetseite registriert sind. In Spalte B stehen alle Leute, die sich noch nie auf der Seite angemeldet haben.

Mit einer Bedingten Formatierung (Doppelte Werte) habe ich alle aus Spalte A, welche auch in Spalte B zu finden sind mit rotem Hintergrund versehen. Oder anders gesagt: Alle Leute aus Spalte A, welche sich nie Eingeloggt haben sind jetzt mit rotem Hintergrund.

Da ich den Prozentualen Wert der Logins ermitteln möchte und keine Lust habe alle zu zählen (Sind enorm viele) wollte ich, dass Excel die Zellen mit rotem Hintergrund für mich zählt.

Hat da jemand eine Formel für mich? :/

Danke schonmal im Voraus :)

...zur Frage

Wie kann ich bei Excel aus einer Spalte, wo jeder Wert mehrfach vorkommt, jeden Wert einmal entnehmen?

Moin,

ich habe eine Spalte mit verschiedenen Werten, wo jeder Wert bestimmt mindestens hundertmal untereinander vorkommt. Diese verschiedenen Werte möchte ich nun in einer anderen Spalte untereinander einmalig auflisten.

Ist das irgendwie möglich, ohne die Werte einzeln per Hand aufzulisten?

Danke.

...zur Frage

Excel - Werte in mehreren Spalten suchen, vergleichen und weiteren Wert wiedergeben

Hallo :) Ich komm gleich zum Punkt:

Ich habe zwei Tabellen (Tabelle 1, Tabelle 2). Ich möchte nun den Wert aus Tabelle eins in Tabelle zwei einfügen, sofern die dazugehörigen Werte (drei Werte in je einer Spalte) in Tabelle eins sich in Tabelle zwei (drei Werte in je einer Spalte) wiederfinden.

Das Bild macht es, hoffeich, anschaulicher.

Danke vorab.

...zur Frage

Was möchtest Du wissen?