Anzeige
Archiv - Navigation
1252to1256
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
Inhaltsverzeichnis

kopieren bei Anfang A8

kopieren bei Anfang A8
Snewi
Hallo,
wie bekomme ich die Werte aus Tabelle1 nur in den Bereich Tabelle2 (A15:E15) kopiert

Sub kopieren()
Dim rngc As Range
'Application.ScreenUpdating = False
With Sheets("Tabelle1")
For Each rngc In .Range(.Cells(8, 2), .Cells(Rows.Count, 2).End(xlUp))
If rngc.Offset(, 4) = 1 Then
rngc.Resize(, 4).Copy
Sheets("Tabelle2").Cells(Rows.Count, 2).End(xlUp).Offset(1).PasteSpecial xlValues
End If
Next
Application.CutCopyMode = False 'Kopierrahmen deaktivieren
End With
'Application.ScreenUpdating = True
End Sub
Gruß

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: kopieren bei Anfang A8
15.03.2012 14:37:37
Snewi
Er soll also nicht in den ersten frei Bereich gehen sondern direkt die erste Zelle auf A15 setzen und dann immer nach unten kopieren bis max A30!
Gruß
Werte übertragen
15.03.2012 19:50:38
Erich
Hi,
probier mal diese beiden:

Option Explicit
Sub kopierenAb15()
Dim rngC As Range, lngZ As Long
lngZ = 15
'Application.ScreenUpdating = False
With Sheets("Tabelle1")
For Each rngC In .Range(.Cells(8, 2), .Cells(Rows.Count, 2).End(xlUp))
If rngC.Offset(, 4) = 1 Then
If lngZ > 30 Then
MsgBox "Keine Ausgabe unter Zeile 30 - Abbruch", vbCritical
Exit For
End If
rngC.Resize(, 4).Copy
Sheets("Tabelle2").Cells(lngZ, 1).PasteSpecial xlValues
lngZ = lngZ + 1
End If
Next
Application.CutCopyMode = False 'Kopierrahmen deaktivieren
End With
'Application.ScreenUpdating = True
End Sub
Sub NurWerteRuebertragenAb15()
Dim rngQ As Range, lngZ As Long, rngC As Range
With Sheets("Tabelle1")
Set rngQ = .Range(.Cells(8, 2), .Cells(Rows.Count, 2).End(xlUp))
End With
'   Application.ScreenUpdating = False
With Sheets("Tabelle2")
lngZ = 15
For Each rngC In rngQ
If rngC.Offset(, 4) = 1 Then
If lngZ > 30 Then
MsgBox "Keine Ausgabe unter Zeile 30 - Abbruch", vbCritical
Exit For
End If
.Cells(lngZ, 2).Resize(, 4) = rngC.Resize(, 4).Value
lngZ = lngZ + 1
End If
Next
End With
'Application.ScreenUpdating = True
End Sub
Nicht mehr nur so nebenbei, sondern ernsthaft:
Ist der erste Tag des Jahres jetzt klar? Ich meine
https://www.herber.de/forum/archiv/1252to1256/t1254344.htm
Und antwortest du auch noch hier - wo es auch um das Kopieren dieses Bereichs ging?
https://www.herber.de/forum/archiv/1252to1256/t1254656.htm
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich
Anzeige
AW: Werte übertragen
16.03.2012 12:15:03
Snewi
Hallo Erich,
hab beides getestet und beides funktioniert echt super! Danke!
Auch die anderen Sachen erfüllst du immer zu meiner vollsten Zufriedenheit!
Tolles Forum hier weiter so!!!!!
P.S. was ist eigentlich der genaue Unterschied mit dem Rübertragen und was wäre vorteilhaften zu machen?
Gruß
keine Lobhudelei
16.03.2012 12:38:19
Erich
Hi,
mit meiner (an dich notwendigerweise etwas deutlicher formulierten) Bitte um Rückmeldungen ging es mir nicht darum,
Lob einzuheimsen. Klar, ein "Danke" erfreut einen. Wichtig ist aber auch, was wie geholfen hat oder auch nicht.
Wir lernen alle.
Zu deiner Frage:
Copy und Paste bzw. PasteSpecial laufen über die Windows-Zwischenablage.
Copy kopiert dorthin, Paste bzw. PasteSpecial holen die Inhalte dort wieder ab und schreibt sie in den Zielbereich.
Das ist sicher aufwändiger als
.Cells(lngZ, 2).Resize(, 4) = rngC.Resize(, 4).Value
Hier werden einfach die Werte rechts von "=" ermittelt und in den Bereich links von "=" geschrieben,
ganz so wie Cells(1,1) = 4711
Alles klar? Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige