Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
556to560
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
556to560
556to560
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Von einem Sheet ins andere kopieren?

Von einem Sheet ins andere kopieren?
28.01.2005 11:25:36
Roman
Hallo,
habe ein problem,
möchte gern eine Auszug aus einem Sheet ins andere kopieren. DAs Problem ist jetzt folgendes:
Es sollen nur die kopiert werden, bei denen der Betrag größer null ist.
Ich sortiere absteigend die Daten vorher.
Wie kann man den einstellen, daß der Kopierbereich variabel jeweils sich anpasst. ES muß halt vorher überprüft werden, wann der BEtrag Null kommt.
Kann mir da jemand bitte helfen.
danke
Gruß
Roman

21
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Von einem Sheet ins andere kopieren?
Roland
Hallo Roman,
wenn du ohnehin sortiert hast, musst du mit dem Makro nur noch die Zelladresse ermitteln, in der der erste Wert größer Null ist und lässt ab dann kopieren. Konkret mit einem Code könnte das so aussehen:

Sub test()
Dim i As Integer
For i = Range("A65536").End(xlUp).Row To 1 Step -1
If Cells(i, 1).Value >= 0 Then Exit For
Next
Range(Cells(1, 1), Cells(i, 3)).Copy Range("E1")
End Sub

Gruß
Roland
AW: Von einem Sheet ins andere kopieren?
28.01.2005 11:55:07
Roman
hallo Roland,
Application.Calculation = xlCalculationManual
Columns("A:E").Sort key1:=Range("D:D"), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Application.Calculation = xlCalculationAutomatic

mit diesen DAten sortiere ich die ganze SAche,
wo kann ich denn da jetzt ein Makro was du angegeben hast einfügen.
Und zwar sollte die A2-D2 in die TAbelle1 A8-D8
und E2 sollte in Tabelle1 I8
Gruß
Roman
Anzeige
AW: Von einem Sheet ins andere kopieren?
Roland
Hallo Roman,
dann müsste es so klappen:

Sub test()
Dim i As Integer
Application.Calculation = xlCalculationManual
Columns("A:E").Sort key1:=Range("D:D"), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Application.Calculation = xlCalculationAutomatic
For i = Range("A65536").End(xlUp).Row To 1 Step -1
If Cells(i, 1).Value >= 0 Then Exit For
Next
Range(Cells(2, 1), Cells(i, 4)).Copy Sheets("Tabelle1").Range("A8")
Range(Cells(2, 5), Cells(i, 5)).Copy Sheets("Tabelle1").Range("I8")
End Sub

Feedback wäre nett :-)
Roland
Anzeige
AW: Von einem Sheet ins andere kopieren?
28.01.2005 12:07:08
Roman
Hallo Roland,
das funktioniert soweit, nur ich habe ein anderes Problem. Ich müsste den Inhalt der Zellen kopieren und nicht die Formeln.
Wie kann ich das denn einstellen?
danke
roman
AW: Von einem Sheet ins andere kopieren?
Roland
Hallo Roman,
so werden nur die Werte kopiert:

Sub test()
Dim i As Integer
Application.Calculation = xlCalculationManual
Columns("A:E").Sort key1:=Range("D:D"), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Application.Calculation = xlCalculationAutomatic
For i = Range("A65536").End(xlUp).Row To 1 Step -1
If Cells(i, 1).Value >= 0 Then Exit For
Next
Range(Cells(2, 1), Cells(i, 4)).Copy
Sheets("Tabelle1").Range("A8").PasteSpecial Paste:=xlPasteValues, operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range(Cells(2, 5), Cells(i, 5)).Copy
Sheets("Tabelle1").Range("I8").PasteSpecial Paste:=xlPasteValues, operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub

Gruß Roland
Anzeige
Letzter Versuch
Roland
Hallo Roman,
das muss doch hinzukriegen sein . . . Ich vermute mal, dass unterhalb der sortierten Spalte noch Daten kommen und habe daher mal die Zählweise umgestellt:

Sub test()
Dim i As Integer
Application.Calculation = xlCalculationManual
Columns("A:E").Sort key1:=Range("D:D"), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Application.Calculation = xlCalculationAutomatic
For i = 1 To Range("A65536").End(xlUp).Row
If Cells(i, 4).Value <= 0 Then Exit For
Next
Range(Cells(2, 1), Cells(i, 4)).Copy
Sheets("Tabelle1").Range("A8").PasteSpecial Paste:=xlPasteValues, operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range(Cells(2, 5), Cells(i, 5)).Copy
Sheets("Tabelle1").Range("I8").PasteSpecial Paste:=xlPasteValues, operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select
End Sub

Wenn auch das Nicht funktioniert, melde dich noch mal.
Gruß
Roland
Anzeige
AW: Von einem Sheet ins andere kopieren?
28.01.2005 12:13:54
Roman
die Beträge stehen in D. Dort soll geschaut werden, daß der Null wird.
Wo muß ich denn was abändern?
Gruß
Roman
If Cells(i, 4).Value >= 0 Then . . . o.w.T.
Roland
AW: If Cells(i, 4).Value >= 0 Then . . . o.w.T.
28.01.2005 12:22:29
Roman
Hallo Roland,
erstmal dankeschön.
wie kann ich aber noch den Inhalt einfügen und nicht die Formeln?
gruß
roman
siehe 12:18:01 o.w.T.
Roland
AW: If Cells(i, 4).Value >= 0 Then . . . o.w.T.
28.01.2005 12:23:39
Roman
ups sorry habe nicht gesehen!
schönen Dank
echt genials Forum hier.
Präzise und schnelle Hilfe! echt super.
Gruß
Roman
Danke für die Rückmeldung o.w.T.
28.01.2005 12:26:21
Roland
Hilfe Roland!
28.01.2005 12:35:08
Roman
hallo Roland,
ich habe jetzt den Code eingefügt und ausprobiert.
Irgendwie macht er probleme. Er hat nicht abgeschnitten, sonder alles kopiert.
gruß
roman
AW: Hilfe Roland!
28.01.2005 12:40:39
Roman
Hallo Roland,
Der schnitt für den Kopiervorgang sollte für Zelle A-E gehen. In D steht der Betrag,
nach diesem wird sortiert, dann geschaut in welcher Zelle er Null wird. Ab da brauch man nicht mehr kopieren.
Es sollte dann z.B. der Bereich von A2-E70 kopiert werden, wenn D71 Betrag Null hat.
Was muß man noch an dem Code ändern?
gruß
roman
Anzeige
Code ist richtig, lad die Datei mal hoch
Roland
AW: Code ist richtig, lad die Datei mal hoch
28.01.2005 12:51:42
Roman
das geht nicht der Firmenserver läßt es nicht zu.
Die funktionsweise deines Codes ist perfekt. Er kopiert und sortiert einwandfrei, nur irgendwie will es nicht ab Null abschneiden.
gruß
roman
AW: Code ist richtig, lad die Datei mal hoch
28.01.2005 12:58:21
Roman
ich habe versucht Range("D65536) zu machen. macht das gleiche wie mit A.
?
gruß
roman
AW: Code ist richtig, lad die Datei mal hoch
28.01.2005 13:08:55
Roman
Hallo Roland,
ich habe mal ausprobiert, egal ob ich
Cells(i, 4).Value Cells(i, 4).Value >= 0
einstelle,
er macht immer das gleiche.(kopiert trotzdem alles.
?
Gruß
Roman
AW: Code ist richtig, lad die Datei mal hoch
28.01.2005 13:25:16
Roman
HAllo Roland,
kann ich dir die Datei zuschicken?
und du kannst dann diese einstellen in das Forum!
gruß
roman
Anzeige
AW: Code ist richtig, lad die Datei mal hoch
28.01.2005 13:38:53
Roman
Hallo Roland,
ich glaube ich habe es rausbekommen.
alt:
For i = Range("A65536").End(xlUp).Row To 1 Step -1
If Cells(i, 4).Value &gt=0 Then Exit For
Next
neu:
For i = Range("A65536").End(xlUp).Row To 1 Step -1
If Cells(i, 4).Value &gt0 Then Exit For
Next
größer Null war wichtig.
Gruß
Roman
Na dann Schönes Wochenende o.w.T.
Roland

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige