Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

kopieren bei Anfang A8

Forumthread: 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ß
Anzeige

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ß
Anzeige
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
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige