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

Zellen in andere Tabellenblätter kopieren

Zellen in andere Tabellenblätter kopieren
19.05.2005 10:06:04
Daniel
Hallo!
Ich möchte gerne Zellen aus einem Tabellenblatt in mehrere Tabellenblätter kopieren, wenn bestimmte Bedingungen zutreffen.
Das Tabellenblatt, in dem die Zellen zu Anfangs sind heißt "WL-Output".
Die anderen Tabellenblätter heißen "Buy","PT" und "SL".
Zunächst sollen die Zellen A1 bis H1 in die anderen drei Blätter kopiert werden.
Dann sollten in den drei Blättern die Spalte A-H gelöscht werden.
So, nun zu den eigentlichen Zellen und deren Bedingungen.
Aus dem Blatt "WL-Output" sollen dann alle Zellen der jeweiligen Zeile in den Spalten A-H in die jeweiligen Zellen A-H (also A2=A2 des anderen Blattes) des Blattes "Buy" kopiert werden, wenn in der Spalte D das Wort Buy steht und in der Spalte H eine leere Zelle ist.
Steht in Spalte D in der jeweiligen Zelle das Wort Sell und in der Zelle der Spalte H PT, so sollen die jeweiligen Zellen der Spalten A-H in das Blatt PT kopiert werden.
Steht in Spalte D in der jeweiligen Zelle das Wort Sell und in Spalte H SL, so sollen die Zellen ins Blatt "SL" kopiert werden.
Ich hoffe ich konnte das alles verständlich erklären was ich will.
Füre eure Hilfe wäre ich sehr dankbar.
Grüße,
Daniel

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen in andere Tabellenblätter kopieren
19.05.2005 10:19:44
Fritz
Hi Daniel,
Ich würde hierfür einen VBA-Code einsetzen. Dazu brauchte ich aber eine Beispielmappe.
Stell mal ein Beispiel ins Forum.
Fritz
AW: Zellen in andere Tabellenblätter kopieren
19.05.2005 10:21:52
Tobias
Servus!
Versuchs mal so:

Sub kopieren()
Application.ScreenUpdating = False
Worksheets("Buy").Range("A:Z").Value = "" 'Ich gehe hier davon aus, das max. bis Spalte
'Z belegt ist
Worksheets("PT").Range("A:Z").Value = ""
Worksheets("SL").Range("A:Z").Value = ""
Worksheets("WL-Output").Range("A1:H1").Copy
Worksheets("Buy").Range("A1").Select
ActiveSheet.Paste
Worksheets("PT").Range("A1").Select
ActiveSheet.Paste
Worksheets("SL").Range("A1").Select
ActiveSheet.Paste
Worksheets("WL-Output").Select
endupWL = Range("A65536").End(xlUp).Row
For i = 2 to endupWL
If Range("D" & i).Value = "Buy" and Range("H" & i).Value = "" Then
endupBuy = Worksheets("Buy").Range("A65536").End(xlUp).Row
Range("A" & i & ":H" & i).Copy
Worksheets("Buy").Select
Range("A" & endupBuy).Select
ActiveSheet.Paste
Worksheets("WL-Output").Select
End If
If Range("D" & i).Value = "Sell" and Range("H" & i).Value = "PT" Then
endupBuy = Worksheets("PT").Range("A65536").End(xlUp).Row
Range("A" & i & ":H" & i).Copy
Worksheets("Buy").Select
Range("A" & endupBuy).Select
ActiveSheet.Paste
Worksheets("WL-Output").Select
End If
If Range("D" & i).Value = "Buy" and Range("H" & i).Value = "SL" Then
endupBuy = Worksheets("SL").Range("A65536").End(xlUp).Row
Range("A" & i & ":H" & i).Copy
Worksheets("Buy").Select
Range("A" & endupBuy).Select
ActiveSheet.Paste
Worksheets("WL-Output").Select
End If
Next i
Application.ScreenUpdating = True
End Sub

Ist zwar nicht die eleganteste Loesung, sollte aber funktionieren (konnts leider nicht testen, da du ja keine Beispieldateien hochgeladen hast).
Ich hoffe, ich konnte dir helfen.
Gruss

Tobias
Anzeige
Korrektur
19.05.2005 10:24:12
Tobias
Ich vergesses immer wieder.... grrrr, hier die richtige Version

Sub kopieren()
Application.ScreenUpdating = False
Worksheets("Buy").Range("A:Z").Value = "" 'Ich gehe hier davon aus, das max. bis Spalte
'Z belegt ist
Worksheets("PT").Range("A:Z").Value = ""
Worksheets("SL").Range("A:Z").Value = ""
Worksheets("WL-Output").Range("A1:H1").Copy
Worksheets("Buy").Range("A1").Select
ActiveSheet.Paste
Worksheets("PT").Range("A1").Select
ActiveSheet.Paste
Worksheets("SL").Range("A1").Select
ActiveSheet.Paste
Worksheets("WL-Output").Select
endupWL = Range("A65536").End(xlUp).Row
For i = 2 to endupWL
If Range("D" & i).Value = "Buy" and Range("H" & i).Value = "" Then
endupBuy = Worksheets("Buy").Range("A65536").End(xlUp).Row
Range("A" & i & ":H" & i).Copy
Worksheets("Buy").Select
Range("A" & endupBuy + 1).Select
ActiveSheet.Paste
Worksheets("WL-Output").Select
End If
If Range("D" & i).Value = "Sell" and Range("H" & i).Value = "PT" Then
endupPT = Worksheets("PT").Range("A65536").End(xlUp).Row
Range("A" & i & ":H" & i).Copy
Worksheets("PT").Select
Range("A" & endupPT + 1).Select
ActiveSheet.Paste
Worksheets("WL-Output").Select
End If
If Range("D" & i).Value = "Buy" and Range("H" & i).Value = "SL" Then
endupSL = Worksheets("SL").Range("A65536").End(xlUp).Row
Range("A" & i & ":H" & i).Copy
Worksheets("SL").Select
Range("A" & endupSL +1 ).Select
ActiveSheet.Paste
Worksheets("WL-Output").Select
End If
Next i
Application.ScreenUpdating = True
End Sub

Zwar immer noch untested, aber doofheits-fehler rausgemacht ;)
Gruss

Tobias
Anzeige
AW: Korrektur
19.05.2005 12:07:51
Daniel
Zunächst vielen Dank für die Hilfe.
Leider kommt aber ein Fehler:
Die Select Methode des Range-Objektes konnte nicht ausgeführt werden.
Dabei wird die Zeile
Worksheets("Buy").Range("A1").Select
gelb markiert!?!?
Grüße,
Daniel
AW: Korrektur
19.05.2005 13:53:14
Tobias
Servus!
Probieren wirs so...

Sub kopieren()
Application.ScreenUpdating = False
Worksheets("Buy").Range("A:Z").Value = "" 'Ich gehe hier davon aus, das max. bis Spalte
'Z belegt ist
Worksheets("PT").Range("A:Z").Value = ""
Worksheets("SL").Range("A:Z").Value = ""
Worksheets("WL-Output").Range("A1:H1").Copy
Worksheets("Buy").Activate
Range("A1").Select
ActiveSheet.Paste
Worksheets("PT").Activate
Range("A1").Select
ActiveSheet.Paste
Worksheets("SL").Activate
Range("A1").Select
ActiveSheet.Paste
Worksheets("WL-Output").Select
endupWL = Range("A65536").End(xlUp).Row
For i = 2 to endupWL
If Range("D" & i).Value = "Buy" and Range("H" & i).Value = "" Then
endupBuy = Worksheets("Buy").Range("A65536").End(xlUp).Row
Range("A" & i & ":H" & i).Copy
Worksheets("Buy").Select
Range("A" & endupBuy + 1).Select
ActiveSheet.Paste
Worksheets("WL-Output").Select
End If
If Range("D" & i).Value = "Sell" and Range("H" & i).Value = "PT" Then
endupPT = Worksheets("PT").Range("A65536").End(xlUp).Row
Range("A" & i & ":H" & i).Copy
Worksheets("PT").Select
Range("A" & endupPT + 1).Select
ActiveSheet.Paste
Worksheets("WL-Output").Select
End If
If Range("D" & i).Value = "Buy" and Range("H" & i).Value = "SL" Then
endupSL = Worksheets("SL").Range("A65536").End(xlUp).Row
Range("A" & i & ":H" & i).Copy
Worksheets("SL").Select
Range("A" & endupSL +1 ).Select
ActiveSheet.Paste
Worksheets("WL-Output").Select
End If
Next i
Application.ScreenUpdating = True
End Sub

Ich hoffe, dass es so klappt.
Gruss

Tobias
Anzeige
AW: Korrektur
19.05.2005 13:59:39
Daniel
Hi,
das scheint alles zu klappen außer die Kopie nach "SL"!
Gruß,
Daniel
AW: Korrektur
19.05.2005 14:15:47
Tobias
Servus!
Hatte ueberlesen, dass wenn es in "SL" kommen soll, in D "Sell" stehen muss - bei mir steht "Buy" drin. Hier der hoffentlich letzte Quelltext:

Sub kopieren()
Application.ScreenUpdating = False
Worksheets("Buy").Range("A:Z").Value = "" 'Ich gehe hier davon aus, das max. bis Spalte
'Z belegt ist
Worksheets("PT").Range("A:Z").Value = ""
Worksheets("SL").Range("A:Z").Value = ""
Worksheets("WL-Output").Range("A1:H1").Copy
Worksheets("Buy").Activate
Range("A1").Select
ActiveSheet.Paste
Worksheets("PT").Activate
Range("A1").Select
ActiveSheet.Paste
Worksheets("SL").Activate
Range("A1").Select
ActiveSheet.Paste
Worksheets("WL-Output").Select
endupWL = Range("A65536").End(xlUp).Row
For i = 2 to endupWL
If Range("D" & i).Value = "Buy" and Range("H" & i).Value = "" Then
endupBuy = Worksheets("Buy").Range("A65536").End(xlUp).Row
Range("A" & i & ":H" & i).Copy
Worksheets("Buy").Select
Range("A" & endupBuy + 1).Select
ActiveSheet.Paste
Worksheets("WL-Output").Select
End If
If Range("D" & i).Value = "Sell" and Range("H" & i).Value = "PT" Then
endupPT = Worksheets("PT").Range("A65536").End(xlUp).Row
Range("A" & i & ":H" & i).Copy
Worksheets("PT").Select
Range("A" & endupPT + 1).Select
ActiveSheet.Paste
Worksheets("WL-Output").Select
End If
If Range("D" & i).Value = "Sell" and Range("H" & i).Value = "SL" Then
endupSL = Worksheets("SL").Range("A65536").End(xlUp).Row
Range("A" & i & ":H" & i).Copy
Worksheets("SL").Select
Range("A" & endupSL +1 ).Select
ActiveSheet.Paste
Worksheets("WL-Output").Select
End If
Next i
Application.ScreenUpdating = True
End Sub

Gruss

Tobias
Anzeige
AW: Korrektur
19.05.2005 14:26:36
Daniel
Hallo!
Vielen Dank, es geht jetzt wie ich wollte.
Danke für die Arbeit!
Daniel
Gern geschehen (o.w.T.)
19.05.2005 14:27:29
Tobias
Servus!

Gruss

Tobias

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige