Supportnet / Forum / Tabellenkalkulation
Zeilen, die in Spalte 9 ein X enthalten in anderes Blatt kopieren
Frage
Servus!
Ich benötige mal wieder Hilfe bei einer Excel Anwendung...
Zeil ist es, Zeilen die in Spalte 9 bzw. I ein "X" enthalten vom Tabellenblatt 1 in ein anderes Blatt (Tabellenblatt 2) zu kopieren. Wenn in Spalte 10 (bzw. J) ein X steht sollen die Zeilen in Tabellenblatt 3 usw.
Kann mir da jmd. helfen???
vielen, vielen dank - ihr rettet möglichweise meinen feierabend :)
Gruß Alex
Antwort 1 von Hajo_Zi
Hallo Alex,
ich habe jetzt keine Zeit mehr, aber ich versuche mal die Aufgabe nachzufragen.
Handelt es sich bei den X um eine Eingabe oder sind die schon vorhanden?
Ich lese es richtig die Zeile soll kopiert werden in die erste freie Zeile der anderen Tabelle? Sie soll im Original nicht gelöscht werden?
Gruß Hajo
ich habe jetzt keine Zeit mehr, aber ich versuche mal die Aufgabe nachzufragen.
Handelt es sich bei den X um eine Eingabe oder sind die schon vorhanden?
Ich lese es richtig die Zeile soll kopiert werden in die erste freie Zeile der anderen Tabelle? Sie soll im Original nicht gelöscht werden?
Gruß Hajo
Antwort 2 von AlexP123
Moin Hajo!
Also, das X ist eine Eingabe, die ich manuell gemacht habe, quasi als Kennzeichnung für die Spalte.
Genau, das orginal so behalten werden, wie es ist..
Sinn der Tabelle ist es, die Daten von Flügen in Spalte 1-8 auf den folgenden Tabellenblättern (je nachdem in welcher Spalte das X steht) auszugeben, damit die erzeugten Tabellenblätter immer nur die Infos für best. waren enthalten...
Vielen Dank für deine / eure Hilfe...
Alex
Also, das X ist eine Eingabe, die ich manuell gemacht habe, quasi als Kennzeichnung für die Spalte.
Genau, das orginal so behalten werden, wie es ist..
Sinn der Tabelle ist es, die Daten von Flügen in Spalte 1-8 auf den folgenden Tabellenblättern (je nachdem in welcher Spalte das X steht) auszugeben, damit die erzeugten Tabellenblätter immer nur die Infos für best. waren enthalten...
Vielen Dank für deine / eure Hilfe...
Alex
Antwort 3 von rainberg
Hallo Alex,
schau Dir doch mal die Wirkungsweise von Spezialfilter oder Pivot-Tabelle an.
Beide Tools eignen sich hervorragend für Dein Vorhaben.
Anbei zwei Links zum Erlernen des Vorgeschlagenen.
http://www.online-excel.de/excel/singsel.php?f=5
http://www.online-excel.de/excel/singsel.php?f=55
Gruß
Rainer
schau Dir doch mal die Wirkungsweise von Spezialfilter oder Pivot-Tabelle an.
Beide Tools eignen sich hervorragend für Dein Vorhaben.
Anbei zwei Links zum Erlernen des Vorgeschlagenen.
http://www.online-excel.de/excel/singsel.php?f=5
http://www.online-excel.de/excel/singsel.php?f=55
Gruß
Rainer
Antwort 4 von AlexP123
Moin fedjo,
das sieht schonmal gut aus, aber leider werden die Daten in den folge-Tabellen nach änderung in Tab 1 nicht aktualisiert.
Das beste wäre ein Makro o.ä., dass automatisch die verknüpften Daten aktualisiert und ein neues Tabellenblatt einfügt, wenn ich neue Zeilen mit zusätzlichen x-en einfüge. Geht sowas?
Gruß Alex
das sieht schonmal gut aus, aber leider werden die Daten in den folge-Tabellen nach änderung in Tab 1 nicht aktualisiert.
Das beste wäre ein Makro o.ä., dass automatisch die verknüpften Daten aktualisiert und ein neues Tabellenblatt einfügt, wenn ich neue Zeilen mit zusätzlichen x-en einfüge. Geht sowas?
Gruß Alex
Antwort 5 von AlexP123
Nachtrag: das ist eine Beispieldatei!!
Vielen Dank!!!!!!
http://www.netupload.de/detail.php?img=e4691631b9a165d44c5e195ae0ec...
Vielen Dank!!!!!!
http://www.netupload.de/detail.php?img=e4691631b9a165d44c5e195ae0ec...
Antwort 6 von nighty
hi all :-)
hier ein beispiel :-)
gruss nighty
einzufuegen
alt f11/projektexplorer/Daten
Private Sub worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Dim daten() As Variant
If Target.Column > 6 And Target.Row > 1 And UCase(Cells(Target.Row, Target.Column)) = "X" And Sheets.Count >= Target.Column - 6 Then
daten() = Range("A" & Target.Row & ":G" & Target.Row)
ZielZeile = Sheets(Target.Column - 6).Range("A" & Rows.Count).End(xlUp).Row + 1
Sheets(Target.Column - 6).Range("A" & ZielZeile & ":G" & ZielZeile) = daten()
End If
Application.EnableEvents = True
End Sub
hier ein beispiel :-)
gruss nighty
einzufuegen
alt f11/projektexplorer/Daten
Private Sub worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Dim daten() As Variant
If Target.Column > 6 And Target.Row > 1 And UCase(Cells(Target.Row, Target.Column)) = "X" And Sheets.Count >= Target.Column - 6 Then
daten() = Range("A" & Target.Row & ":G" & Target.Row)
ZielZeile = Sheets(Target.Column - 6).Range("A" & Rows.Count).End(xlUp).Row + 1
Sheets(Target.Column - 6).Range("A" & ZielZeile & ":G" & ZielZeile) = daten()
End If
Application.EnableEvents = True
End Sub
Antwort 7 von fedjo
Hallo Alex,
ein Aktualisierung der Daten in den folge-Tabellen durch eine Änderung in Tab 1 ist kaum möglich, da die übertragenen Zeilen unterschiedlich sind.
Vielleicht reicht ja auch der Autofilter!
Der vor schließen der Datei die Daten automatisch filtert und in den verschiedenen Tabellen einträgt, speichert und die Datei schließt
(x=Tab1, y=Tab2 usw)
Gruß
fedjo
ein Aktualisierung der Daten in den folge-Tabellen durch eine Änderung in Tab 1 ist kaum möglich, da die übertragenen Zeilen unterschiedlich sind.
Vielleicht reicht ja auch der Autofilter!
Der vor schließen der Datei die Daten automatisch filtert und in den verschiedenen Tabellen einträgt, speichert und die Datei schließt
(x=Tab1, y=Tab2 usw)
Gruß
fedjo
Antwort 8 von nighty
hi all :-)
korrigiert bzw mit auromatischer tabellenerstellung :-))
gruss nighty
Private Sub worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Dim daten() As Variant
Dim ZielZeile As Long
If Target.Column > 6 And Target.Row > 1 And UCase(Cells(Target.Row, Target.Column)) = "X" Then
If Sheets.Count < Target.Column - 6 And Sheets.Count < 255 Then
Sheets.Add Count:=1, after:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = "Objekt " & Sheets.Count + 1
Sheets(1).Select
End If
daten() = Range("A" & Target.Row & ":G" & Target.Row)
ZielZeile = Sheets(Target.Column - 6).Range("A" & Rows.Count).End(xlUp).Row + 1
Sheets(Target.Column - 6).Range("A" & ZielZeile & ":G" & ZielZeile) = daten()
End If
Application.EnableEvents = True
End Sub
korrigiert bzw mit auromatischer tabellenerstellung :-))
gruss nighty
Private Sub worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Dim daten() As Variant
Dim ZielZeile As Long
If Target.Column > 6 And Target.Row > 1 And UCase(Cells(Target.Row, Target.Column)) = "X" Then
If Sheets.Count < Target.Column - 6 And Sheets.Count < 255 Then
Sheets.Add Count:=1, after:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = "Objekt " & Sheets.Count + 1
Sheets(1).Select
End If
daten() = Range("A" & Target.Row & ":G" & Target.Row)
ZielZeile = Sheets(Target.Column - 6).Range("A" & Rows.Count).End(xlUp).Row + 1
Sheets(Target.Column - 6).Range("A" & ZielZeile & ":G" & ZielZeile) = daten()
End If
Application.EnableEvents = True
End Sub
Ich möchte kostenlos eine Frage an die Mitglieder stellen:
Ähnliche Themen:
- Automatisches Kopieren variabler Datenbereiche auf ein neues Blatt
- Tabelle vergleichen und aktualisiren
- 2 Nr. in tabelle vergleichen und lieferant in tabelle 1 einfügen
- Nur spezielle Daten (mit Wert in Spalte A) aus anderer Tabelle kopieren - Excel 2003
- Zeilen in ein anderes Blatt kopieren und gleichzeitig sortieren