Herbers Excel-Forum - das Archiv

Spalten mit 1 und 0 kopieren

Bild

Betrifft: Spalten mit 1 und 0 kopieren
von: Markus
Geschrieben am: 02.10.2003 12:15:57
Hallo Leute,
ich habe da mal ein Problem. Ich habe bereits eine Spalte angelegt (Spalte E)welche nur 1 oder 0 enthält (Können fünf mal 1 dann drei mal 0 dann wieder 1 usw. sein also nicht zusammenhängend) ich möchte nun aus allen Zeilen welche eine 1 haben die Spalte A nach B kopieren und zwar zusammenhängen, also wenn zwischendurch eine 0 kommt diese weglassen und alle mit einer 1 untereinanderkopieren. Ich hoffe ihr habt eine Idee die auch ich einsetzen kann.

Danke schon mal für Eure Hilfe.

Gruß Markus

Bild

Betrifft: Autofilter oder Formel
von: Günther Oppold
Geschrieben am: 02.10.2003 12:30:55
Hi Markus,

am leichtesten geht's wohl mit dem Autofilter.
in der die gefilterten Tabelle Spalte A markieren;
BEARBEITEN / gehe zu / Inhalte / nur sichtbare Zellen;
diese kopieren,
beim Autofilter "alle" anzeigen lassen;
nun in Spalte B die Werte eintragen.

2. Möglichkeit
in B1: {=INDEX(A:A;KKLEINSTE(WENN(E$1:E$999=1;ZEILE($1:$999));ZEILE()))}
ARRAY-Formel: die geschweifte Klammer nicht eingeben, sondern die Formeleingabe abschließen mit Strg+Umsch+Enter

Günther
Bild

Betrifft: Prima aber etwas hätte ich noch :-)
von: Markus
Geschrieben am: 02.10.2003 12:47:47
Hallo Günther.
erst mal vielen Dank geht echt Klasse. Aber eine Sache hätte ich noch in einigen Spalten ekomme ich den Ausdruck #Zahl! kann ich das unterdrücken ich hätte gerne leere Zeilen ist das möglich. Es geht darum ich möchte später alle Werte kopieren bis zur leeren Zeile. Noch eine Frage ist die Spaltenanzahl begrenzt können bis zu 50000 Daten werden??

Danke schon mal für deine Super schnelle Hilfe!

Gruß Markus

P.S. Wenn du auch noch eine Idee hast wie ich die alle Werte bis zur Leerzeile Kopiere wäre Super.
Bild

Betrifft: AW: Prima aber etwas hätte ich noch :-)
von: Günther Oppold
Geschrieben am: 02.10.2003 17:07:10
die Formel zur unterdrückung des Fehlers lautet:

{=wenn(istfehler(INDEX(A:A;KKLEINSTE(WENN(E$1:E$999=1;ZEILE($1:$999));ZEILE()));"";INDEX(A:A;KKLEINSTE(WENN(E$1:E$999=1;ZEILE($1:$999));ZEILE()))}

natürlich muss E$999 entsprechend deinen Zeilen angepasst werden!

zum schnellen Kopieren:
Du weist bestimmt, wie eine Zelle gezogen werden kann (mit dem dünnen Curser-Kreuz an der rechten unteren Zellecke). Statt ziehen - mach einen Doppelklick mit der linken Maustaste. Die Formel kopiert sich so weit nach unten, wie die linke Spalte gefüllt ist.
d.h. hast Du dort eine ununterbrochene Reihe dann gehts bis Zeile 65536. Oder du schreibst die Formel in Zelle B1, kopierst sie, markierst Spalte B und "Einfügen"

Es gibt meines Wissens keine Begrenzung der Zellen, jedoch wird die Berechnung (da die Formel eine ARRAY Formel ist und die ganze Tabelle von oben nach unten durchsucht) bei dieser Zeilenanzahl___s_e_e_e_e_h_r___langsam.

Günther
Bild

Betrifft: AW: Spalten mit 1 und 0 kopieren
von: ChrisL
Geschrieben am: 02.10.2003 12:38:52
Hi Markus

Hier noch ein Makro...

Option Explicit

Sub mach()
Dim iZeile As Long
Application.ScreenUpdating = False
Columns(2).ClearContents
For iZeile = 1 To Range("E65536").End(xlUp).Row
If Cells(iZeile, 5) = 1 Then
If Range("B1") = "" Then
Range("B1") = Cells(iZeile, 1)
Else
Cells(Range("B65536").End(xlUp).Row + 1, 2) = Cells(iZeile, 1)
End If
End If
Next iZeile
Application.ScreenUpdating = True
End Sub


Gruss
Chris
Bild

Betrifft: Bräuchte noch mal Hilfe
von: Markus
Geschrieben am: 02.10.2003 14:21:15
Also das Programm von Chris funktioniert.
Wie kann ich den Code umschreiben damit er die Werte von Spalte D nach Spalte f Kopiert wenn Die Spalte E den Wert 1 hat.

Danke und schönes Wochenende

Gruß Markus
Bild

Betrifft: AW: Bräuchte noch mal Hilfe
von: ChrisL
Geschrieben am: 02.10.2003 14:36:47
Hi Markus

Cells(Zeile, Spalte)

Gruss
Chris


Sub mach()
Dim iZeile As Long
Application.ScreenUpdating = False
Columns(2).ClearContents
For iZeile = 1 To Range("E65536").End(xlUp).Row
If Cells(iZeile, 5) = 1 Then
If Range("F1") = "" Then
Range("F1") = Cells(iZeile, 4)
Else
Cells(Range("B65536").End(xlUp).Row + 1, 6) = Cells(iZeile, 4)
End If
End If
Next iZeile
Application.ScreenUpdating = True
End Sub

Bild

Betrifft: AW: Bräuchte noch mal Hilfe geht so nicht
von: Markus
Geschrieben am: 06.10.2003 09:07:24
Hallo Chris oder alle anderen,
wenn ich denn Code so verwende kopiert sich nur der Wert von D3 nach F1 sonst nichts, kann es daran liegen, dass ich in der ersten Zeile Texte stehen habe und keine Werte oder woran liegt das, und wenn ja wie fange ich an erst ab der zweiten Zeile zu kontrollieren.

danke euch schon mal

Gruß Markus
Bild

Betrifft: AW: Bräuchte noch mal Hilfe geht so nicht
von: ChrisL
Geschrieben am: 06.10.2003 11:40:59
Hi Markus

Stell mal deine Datei in den Anhang.

Gruss
Chris
Bild

Betrifft: Tabelle mit Link für Chris
von: Markus
Geschrieben am: 06.10.2003 12:11:23
Hallo Chris,

in der Tabelle 3 möchte ich alle Werte der Spalte D nach F kopieren wenn in der Spalte E eine 1 steht. Dann möchte ich eine weitere Abfrage nach allen Werten die nun in F stehen machen (die gleiche Abfrage steht momentan noch in der Tabelle 4 Spalte E, soll aber in Tabelle3 Spalte G). Die Abfrage wieder mit 1 und 0 in der Spalte G. Und dann alle Werte die nun eine 1 haben nach Spalte H kopieren.

Ich hoffe du verstehst wie ich das meine.
Der Link hat folgenden Namen

https://www.herber.de/bbs/user/1297.xls

Danke für die ganze Arbeit die du dir machst.

Gruß
Markus
Bild

Betrifft: AW: Tabelle mit Link für Chris
von: ChrisL
Geschrieben am: 06.10.2003 13:47:07
Hi Markus

Versuch mal so...

Option Explicit

Sub test()
Dim iZeile As Long
Application.ScreenUpdating = False
Columns(6).ClearContents
For iZeile = 1 To Range("E65536").End(xlUp).Row
If Cells(iZeile, 5) = 1 Then Cells(Range("F65536").End(xlUp).Row + 1, 6) = Cells(iZeile, 4)
Next iZeile
Application.ScreenUpdating = True
End Sub


Gruss
Chris
 Bild
Excel-Beispiele zum Thema " Spalten mit 1 und 0 kopieren"
Vorkommen von Zahlenreihen in Spalten Funktion ANZAHL2 ohne ausgeblendete Spalten
Spaltenbreite anpassen Spalten einer Mehrbereichsauswahl ausblenden.
Spaltennamen bestimmen Spalten/Zeilen aus- und einblenden
Zeilen und Spalten über ein Drehfeld ein- und ausblenden In einem Dialog ausgewählte Spalten drucken
Spalten bedingt summieren und Zellen formatieren Abfrage der markierten Spalten