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

Zellen kopieren VBA Code

Zellen kopieren VBA Code
26.06.2005 12:49:08
seadog2000
Hallo
Ich habe vor kurzem folgenden Code von euch bekommen

Sub nächsterTag()
Dim rngDest As Range
Dim rngSel As Range
On Error Resume Next
Set rngSel = Selection
Set rngDest = ActiveCell.End(xlDown).Offset(1, 0)
If Not rngDest Is Nothing Then
rngSel.Copy rngDest
rngDest.Offset(0, 1) = Date
Else
Set rngDest = ActiveCell.Offset(1, 0)
ActiveCell.Copy rngDest
rngDest.Offset(0, 1) = Date
End If
End 

Sub
Vielen Dank dafür nochmal:-)
Jetzt zu meinen Fragen.
Ist es möglich den Code so umzuschreiben,dass das Datum neben jedem kopierten Feld steht?
Wie müsste der Code aussehen ,wenn man die kopierten Bereiche immer auf die oberste Zeile setzt und somit alles andere nach unten rückt ?

		

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

Betreff
Datum
Anwender
Anzeige
AW: Zellen kopieren VBA Code
26.06.2005 15:05:14
Beni
Hallo,
dieser Code schiebt die Spalte A+B eine Zeile nach unten und copiert nach A1 und setzt das datum neben die selektionierte Zelle.
Gruss Beni

Sub nächsterTag()
Dim rngSel As Range
Dim lz As Long
On Error Resume Next
Set rngSel = Selection
lz = Cells(Rows.Count, 1).End(xlUp).Row
Range(Cells(1, 1), Cells(lz, 2)).Cut Destination:=Range("A2")
ActiveCell.Offset(1, 0).Select
rngSel.Copy Range("A1")
ActiveCell.Offset(0, 1) = Date
End Sub

AW: Zellen kopieren VBA Code
26.06.2005 16:34:20
seadog2000
Danke für die schnelle Antwort
Kann der Code auch so umgeschrieben werden,dass eine beliebige Anzahl von Zellen in der A-Spalte kopiert und oben aufgesetzt werden kann ?
z.B. 3 oder 4 Zellen (In der A-Spalte) markieren und die dann oben draufsetzen mit aktuellem Datum neben jeder Zelle ?
Anzeige
AW: Zellen kopieren VBA Code
26.06.2005 17:07:45
Beni
Hallo,
Gruss Beni

Sub nächsterTag()
Dim lz, z As Long
On Error Resume Next
a = Selection.Rows.Count
lz = Cells(Rows.Count, 1).End(xlUp).Row
Range(Cells(1, 1), Cells(lz, 2)).Cut Destination:=Cells(a + 1, 1)
ActiveCell.Offset(a, 0).Select
ActiveCell.Range(Cells(1, 1), Cells(a, 1)).Select
Selection.Copy Range("A1")
For z = 0 To a
ActiveCell.Offset(z, 1) = Date
Next z
End Sub

AW: Zellen kopieren VBA Code
26.06.2005 19:34:33
seadog2000
Danke für die schnelle Antwort,aber leider macht das script noch nicht so ganz das,was ich will.
Ich habe mal einen Screenshot gemacht,wie ich es gerne hätte
Userbild
Vielleicht wird es dadurch eher klar.
Gruß seadog2000
Vielen Dank schon mal für eure Mühe
Anzeige
AW: Zellen kopieren VBA Code
26.06.2005 21:35:07
Beni
Hallo,
Gruss Beni

Sub nächsterTag()
Dim lz, z, c As Long
a = Selection.Rows.Count
b = Range("A1").End(xlDown).Row
lz = Cells(Rows.Count, 1).End(xlUp).Row
Range(Cells(1, 1), Cells(lz, 2)).Cut Destination:=Cells(a + 1, 1)
ActiveCell.Offset(a, 0).Select
ActiveCell.Range(Cells(1, 1), Cells(a, 1)).Copy Cells(b, 1)
z = Range("A1").End(xlDown).Row
For c = z To z + a
Cells(c, 2) = Date
Next c
End Sub

AW: Zellen kopieren VBA Code
26.06.2005 23:00:33
seadog2000
Mesch Beni du bist ja ein richtiger Workoholic..wahnsinn!
Dank für die prompte Antwort.
Leider funktioniert der Code noch nicht so ganz.
Erklärung zum Bild
Die blau gefärbten Zellen symbolisieren die Markierung(unabhängige Anzahl... im Bild sind es jetzt mal gerade drei)
Die sollen per Code kopiert werden und direkt drüber gesetzt werden (Im Bild der gelbe Bereich ...also weil blau 3 zellen ist gelb auch drei zellen)und in die B zeile daneben soll noch das aktuelle Datum eingefügt werden.
Das ganze soll dann praktisch das komplette Formular nach unten verschieben und zwar genau um die Zeilen ,die man markiert(kopiert)hat.
Der Kopf des Blattes sollte dabei nicht verändert werden.
Die älteren Zellen müssen auch ihre Information behalten.
Dank für die massige Arbeit die du leistest Beni
Gruß seadog2000

Anzeige
AW: Zellen kopieren VBA Code
27.06.2005 00:27:28
Beni
Hallo,
Gruss Beni

Sub nächsterTag()
Dim lz, z, c As Long
a = Selection.Rows.Count
b = Selection.End(xlUp).Row
lz = Cells(Rows.Count, 1).End(xlUp).Row
Range(Cells(b, 1), Cells(lz, 2)).Cut Destination:=Cells(b + a, 1)
ActiveCell.Offset(a, 0).Select
ActiveCell.Range(Cells(1, 1), Cells(a, 1)).Copy Cells(b, 1)
z = Selection.End(xlUp).Row
For c = z To z + a - 1
Cells(c, 2) = Date
Next c
End Sub

AW: Zellen kopieren VBA Code
27.06.2005 17:25:13
seadog2000
Hallo Beni,
Ich habe den letzten Code ausprobiert.
Leider funkioniert er nicht , oder ich bin zu blöd.
Tatsache ist auf jeden Fall,dass der Kopf(die 1sten 2-3 Zeilen)des Formulars nicht oben stehen bleibt.
Kannst du mir vielleicht nen Tip geben,wo man so gut VBA programmieren lernt ?
Danke
Gruß seadog2000
Anzeige
AW: Zellen kopieren VBA Code
27.06.2005 22:09:03
Beni
Hallo,
bei mir fuktioniert es bestens, eine kleine Erklärung dazu.
Zum Zweiten: probieren/üben,probieren/üben,probieren/üben,probieren/üben,.............
Gruss Beni

Sub nächsterTag1()
Dim lz, z, c As Long
'a ermittelt die Anzahl markierten Zeilen
a = Selection.Rows.Count
'b ermittelt die letzte gefüllte Zelle von der Markierung aus Richtung nach oben, vor einer Leerzelle
' in deinen Fall ist das die Zeile 11
b = Selection.End(xlUp).Row
'lz ermittelt die unterste gefüllte Zelle, in deinen Fall ist das die Zeile 26
lz = Cells(Rows.Count, 1).End(xlUp).Row
'hier wird der ganze gefüllte Bereich nach unten geschoben, b - lz
Range(Cells(b, 1), Cells(lz, 2)).Cut Destination:=Cells(b + a, 1)
'die Markierung geht so viele Zeilen nach unten, wie makiert worden sind
ActiveCell.Offset(a, 0).Select
'der Bereich wird kopiert und an die ursprünglich oberste Stelle gesetzt, b
ActiveCell.Range(Cells(1, 1), Cells(a, 1)).Copy Cells(b, 1)
'mit z wird nochmals die letzte gefüllte Zelle von der Markierung aus Richtung nach oben, vor einer Leerzelle
z = Selection.End(xlUp).Row
'mit der For-Schleife werden die Datums eingefügt
For c = z To z + a - 1
Cells(c, 2) = Date
Next c
End Sub

Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige