Supportnet / Forum / Tabellenkalkulation
Verschieden Zeilen automatisch in ein neues Blatt kopieren...
Frage
Hallo, ich möchte gerne aus eine Tabelle (Bestellliste) die Zeilen, die in der Spalte "Menge" einen Eintrag haben, automatisch in ein anderes Tabellenblatt kopieren. Es soll also aus einer längeren Tabelle automatisch ein Bestellformular generiert werden. Wie könnte mann sowas umsetzen?
Freue mich auf Antworten.
Antwort 1 von Hajo_Zi
Hallo Namensloser,
schaue Dir mal dies Beispiel an
https://supportnet.dethreads/1404845
Du brauchst ja nur Prüdfen <>""
Gruß Hajo
schaue Dir mal dies Beispiel an
https://supportnet.dethreads/1404845
Du brauchst ja nur Prüdfen <>""
Gruß Hajo
Antwort 2 von duudii
Hallo Hajo,
ist genau das, was ich benötige (glaube ich). Aber wie kann ich jetzt die Formel verwenden, wo muss ich sie hin kopieren?
Vielen Dank für die Antwort / Antworten.
Gruß Udo
ist genau das, was ich benötige (glaube ich). Aber wie kann ich jetzt die Formel verwenden, wo muss ich sie hin kopieren?
Vielen Dank für die Antwort / Antworten.
Gruß Udo
Antwort 3 von Hajo_Zi
Hallo Udo,
in dem Beitrag war nicht die Rede von Formel ssonder Code und der gehört im VBA Editor unter die Tabelle. Gehe auf das Register Deiner Tabelle, rechte Maustaste und Code Anzeigen. Dorthin den Code kopieren und verändern.
Gruß Hajo
in dem Beitrag war nicht die Rede von Formel ssonder Code und der gehört im VBA Editor unter die Tabelle. Gehe auf das Register Deiner Tabelle, rechte Maustaste und Code Anzeigen. Dorthin den Code kopieren und verändern.
Gruß Hajo
Antwort 4 von duudii
Ok, ich werde mal mein Glück versuchen (bin in Excel nicht so Textfest ;-)). Wenn ich nicht klar komme, melde ich mich noch mal.
Vielen Dank, Udo
Vielen Dank, Udo
Antwort 5 von duudii
Ojeojeoje,
muß jetzt leider erst weg, melde mich später noch mal, irgendwas funktioniert nicht...
Gruß,
Udo
muß jetzt leider erst weg, melde mich später noch mal, irgendwas funktioniert nicht...
Gruß,
Udo
Antwort 6 von duudii
Hallo,
ich glaube ich bekomme das nicht hin. Ich habe im code alles mögliche ausprobiert und verändert aber mein wissen reicht dazu nicht aus.
Ich habe die Spalten a - i im ersten Tabellenblatt. In der Spalte i steht sporadisch ein Wert. Die Zeilen in denen in Spalte i ein Wert steht sollen ins Tabellenbatt 2 kopiert werden.
Hier den Code von Hajo mit meinen Änderungen.
(das Folgende habe ich alles rüber kopiert)
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
´**************************************************
´* H. Ziplies *
´* 27.08.06 *
´* erstellt von Hajo.Ziplies@web.de *
´**************************************************
Dim RaBereich As Range, RaZelle As Range
Dim LoLetzte As Long
´ Bereich der Wirksamkeit
Set RaBereich = Range("I:I")
For Each RaZelle In Range(Target.Address)
If Not Intersect(RaZelle, RaBereich) Is Nothing Then
If RaZelle = ">0" Then
With Worksheets("Tabelle2")
LoLetzte = .UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1
Range("A" & RaZelle.Row & ":i" & RaZelle.Row).Copy .Cells(LoLetzte, 1)
End With
End If
End If
Next RaZelle
Set RaBereich = Nothing
End Sub
Wenn ich Werte in Spalte i eintrage bekomme ich folgende Fehlermeldung:
Fehler beim kompilieren:
Syntaxfehler
Würde mich sehr freuen, wenn mir jemand unter die Arme greifen könnte.
Gruß, Udo
ich glaube ich bekomme das nicht hin. Ich habe im code alles mögliche ausprobiert und verändert aber mein wissen reicht dazu nicht aus.
Ich habe die Spalten a - i im ersten Tabellenblatt. In der Spalte i steht sporadisch ein Wert. Die Zeilen in denen in Spalte i ein Wert steht sollen ins Tabellenbatt 2 kopiert werden.
Hier den Code von Hajo mit meinen Änderungen.
(das Folgende habe ich alles rüber kopiert)
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
´**************************************************
´* H. Ziplies *
´* 27.08.06 *
´* erstellt von Hajo.Ziplies@web.de *
´**************************************************
Dim RaBereich As Range, RaZelle As Range
Dim LoLetzte As Long
´ Bereich der Wirksamkeit
Set RaBereich = Range("I:I")
For Each RaZelle In Range(Target.Address)
If Not Intersect(RaZelle, RaBereich) Is Nothing Then
If RaZelle = ">0" Then
With Worksheets("Tabelle2")
LoLetzte = .UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1
Range("A" & RaZelle.Row & ":i" & RaZelle.Row).Copy .Cells(LoLetzte, 1)
End With
End If
End If
Next RaZelle
Set RaBereich = Nothing
End Sub
Wenn ich Werte in Spalte i eintrage bekomme ich folgende Fehlermeldung:
Fehler beim kompilieren:
Syntaxfehler
Würde mich sehr freuen, wenn mir jemand unter die Arme greifen könnte.
Gruß, Udo
Antwort 7 von Hajo_Zi
Hallo Udo,
eigentlich hatte ich schon geantwortet, der Beitrag ist nicht da.
Dein Vergleich =">0" ist falsch das muß nur >0 lauten. Das führt aber immer noch z einem Fehle falls Buchstaben ewingegeben werden.
Ich habe mal die Kommentare entfernt, das wird nicht richtig ins Forum übernommen und ich habe den Code angepast.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim RaBereich As Range, RaZelle As Range
Dim LoLetzte As Long
Set RaBereich = Range("I:I")
For Each RaZelle In Range(Target.Address)
If Not Intersect(RaZelle, RaBereich) Is Nothing Then
If IsNumeric(RaZelle) Then
If RaZelle > 0 Then
With Worksheets("Tabelle2")
LoLetzte = .UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1
Range("A" & RaZelle.Row & ":i" & RaZelle.Row).Copy .Cells(LoLetzte, 1)
End With
End If
End If
End If
Next RaZelle
Set RaBereich = Nothing
End Sub
Gruß Hajo
eigentlich hatte ich schon geantwortet, der Beitrag ist nicht da.
Dein Vergleich =">0" ist falsch das muß nur >0 lauten. Das führt aber immer noch z einem Fehle falls Buchstaben ewingegeben werden.
Ich habe mal die Kommentare entfernt, das wird nicht richtig ins Forum übernommen und ich habe den Code angepast.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim RaBereich As Range, RaZelle As Range
Dim LoLetzte As Long
Set RaBereich = Range("I:I")
For Each RaZelle In Range(Target.Address)
If Not Intersect(RaZelle, RaBereich) Is Nothing Then
If IsNumeric(RaZelle) Then
If RaZelle > 0 Then
With Worksheets("Tabelle2")
LoLetzte = .UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1
Range("A" & RaZelle.Row & ":i" & RaZelle.Row).Copy .Cells(LoLetzte, 1)
End With
End If
End If
End If
Next RaZelle
Set RaBereich = Nothing
End Sub
Gruß Hajo
Antwort 8 von duudii
Hallo Hajo,
habe den Code eingefügt, rührt sich aber immer noch nichts. Muß ich das noch irgendwo aktivieren?
In die Spalte "i" kommen nur Mengen (Zahlen).
Gruß,
Udo
habe den Code eingefügt, rührt sich aber immer noch nichts. Muß ich das noch irgendwo aktivieren?
In die Spalte "i" kommen nur Mengen (Zahlen).
Gruß,
Udo
Antwort 9 von Hajo_Zi
Hallo Udo,
ich habe den Code in meiner Datei getestet ohne Problem. Ein Nachbau sieht aber immer anders aus als das Original.
An die richtige Stelle hast Du den Code schon kopiert? Unter der Tabelle.
Gruß Hajo
ich habe den Code in meiner Datei getestet ohne Problem. Ein Nachbau sieht aber immer anders aus als das Original.
An die richtige Stelle hast Du den Code schon kopiert? Unter der Tabelle.
Gruß Hajo
Antwort 10 von duudii
Ich glaube schon, ich habe auf den Reiter der Tabelle geklickt (rechte Maustaste) und dann auf "code anzeigen". Dort habe ich dann den gesamten code in die freie Fläche kopiert. Dadrüber sind zwei Felder nebeneinander "Worksheet" und "(Change).
Fällt Dir noch irgendetwas ein, was ich versuchen könnte?
Viele Grüße,
Udo
Fällt Dir noch irgendetwas ein, was ich versuchen könnte?
Viele Grüße,
Udo
Antwort 11 von duudii
OK,
habe gerade eine Tabelle neu erstellt, mit der ging es. Ich mache mich jetzt mal auf die Suche nach dem Fehler.
Vielen Dank nochmal,
Udo
habe gerade eine Tabelle neu erstellt, mit der ging es. Ich mache mich jetzt mal auf die Suche nach dem Fehler.
Vielen Dank nochmal,
Udo
Antwort 12 von duudii
Hi Ihr,
ich habe den Fehler nicht gefunden.
Wenn ich die beiden Tabellenblätter in eine neu leere Arbeitsmappe kopiere funktioniert alles. Sobald ich aber eine Zelle verändere (einen anderen Wert eingebe) finktioniert es nicht mehr.
Hat noch jemand ´ne Idee, wo ich bzw. wie ich editieren muß, damit es danach wieder geht???
Freue mich auf jede Antwort.
Gruß, udo
ich habe den Fehler nicht gefunden.
Wenn ich die beiden Tabellenblätter in eine neu leere Arbeitsmappe kopiere funktioniert alles. Sobald ich aber eine Zelle verändere (einen anderen Wert eingebe) finktioniert es nicht mehr.
Hat noch jemand ´ne Idee, wo ich bzw. wie ich editieren muß, damit es danach wieder geht???
Freue mich auf jede Antwort.
Gruß, udo
Antwort 13 von duudii
OK,
Ich habe das Problem gefunden, es saß (wie fast immer) vor´m Monitor. Die Einstellungen für Sicherheit waren auf "hoch" gesetzt und Excel hat dann das Makro wohl nicht ausgeführt.
Soll wohl jetzt gehen.
Vielen Dank,
udo
Ich habe das Problem gefunden, es saß (wie fast immer) vor´m Monitor. Die Einstellungen für Sicherheit waren auf "hoch" gesetzt und Excel hat dann das Makro wohl nicht ausgeführt.
Soll wohl jetzt gehen.
Vielen Dank,
udo

