Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1552to1556
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

Inhalt einer Zelle in 5 andere kopieren

Inhalt einer Zelle in 5 andere kopieren
25.04.2017 17:13:38
Paweljun
Hallo,
ich möchte den Inhalt von Zelle A1 in die Zellen B1-B5 kopieren, anschließend in Zelle A6 springen und den Inhalt von A6 in B6-10 kopieren, und das Ganze so lange wiederholen, bis alle 5000 Zeilen der Tabelle abgearbeitet sind. Kann mir jemand einen Tipp geben, wie das entsprechende Makro aussehen müsste?
Vielen Dank in Voraus

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Inhalt einer Zelle in 5 andere kopieren
25.04.2017 17:17:41
Hajo_Zi
mache es mit Formel.

Tabelle3
 AB
111
221
3 1
4 1
5 1
6 2
7 2

verwendete Formeln
Zelle Formel Bereich N/A
B1:B7=INDEX(A:A;AUFRUNDEN(ZEILE()/5;0))  
Excel-Inn.de
Hajo-Excel.de
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 25.10 einschl. 64 Bit



Anzeige
AW: Inhalt einer Zelle in 5 andere kopieren
25.04.2017 17:21:09
onur

Dim x, z As Long
For z = 1 To 5000 step 5
For x = 0 To 4
Cells(z1 + x, 2) = Cells(z1, 1)
Next x
Next z

AW: Inhalt einer Zelle in 5 andere kopieren
25.04.2017 17:47:56
ChrisL
Hi onur
Nicht weiter schlimm, nur als allgemeiner Hinweis:
Dim x, z As Long
entspricht
Dim x As Variant, z As Long

Dim x As Integer, z As Long
For z = 1 To 5000 step 5
For x = 0 To 4
Cells(z + x, 2) = Cells(z, 1)
Next x
Next z
cu
Chris
AW: Inhalt einer Zelle in 5 andere kopieren
25.04.2017 17:52:57
onur
Hi ChrisL,
Normalerweise lasse ich auch "as Long" auch noch weg, aber das verwirrt die meisten Leute nur.
Gruß
Onur
AW: kleine Anmerkung
25.04.2017 19:36:37
Daniel
die Innere Schleife ist unnötig und erhöht die Laufzeit des Makros um Faktor 5.
da in alle 5 Zellen der gleiche Wert kommt, kann man auch alle Zellen gleichzeitig befüllen:
Dim z As Long
For z = 1 To 5000 step 5
Cells(z, 2).Resize(5, 1) = Cells(z, 1)
Next
Gruß Daniel
Anzeige
AW: kleine Anmerkung
25.04.2017 20:24:42
onur
Ich hätte auch schreiben können:
Dim z As Long
For z = 1 To 5000 step 5
Range(Cells(z, 2), Cells(z+4, 2)) =Cells(z, 1)
Next

Aber für einen Anfänger ist meine erste Version nachvollziehbarer und ein Laufzeit von 0,13 sek. ist "gerade noch tolerierbar".
Aber nett, wieviele Leute MIR helfen wollen, statt dem Threaderöffner.
AW: kleine Anmerkung
26.04.2017 10:26:25
Daniel
Naja, was dir hilft, das hilft auch dem Threaderöffner.
Außerdem, je weniger Schleifen, um so angenehmer lässt sich die Datei testen.
Btw, deine Schreibweise ist ungünstiger, wenn mit vollständiger Zellreferenzierung gearbeitet werden muss. Da bleibt bei der Resize-Variante der Code kürzer und übersichtlicher.
Gruß Daniel
Anzeige
AW: Inhalt einer Zelle in 5 andere kopieren
25.04.2017 17:25:19
onur
Must evtl. noch TabelleXY. bzw Sheets("MeineTabelle"). vor Cells(....) schreiben, je nachdem, wo der Code steht (natürlich den Richtigen Namen eingeben statt "MeineTabelle").
AW: Inhalt einer Zelle in 5 andere kopieren
25.04.2017 17:37:50
Daniel
Hi
kann man auch relativ einfach über eine Formel lösen.
wie diese aussieht, hängt davon ab, wie die Spalte A aufgebaut ist:
a) sind die Zellen zwischen A1 und A6 leer oder steht da was drin?
b) wenn die zwischenzellen nicht leer sind, ist der Abstand dann immer gleich (5 Zeilen)
wenn die zwischenzeilen leer sind, würde der Code so aussehen, hierbei können die Abstände dann auch unterschiedlich sein
Range("B1").Value = Range("A1").Value
With Range("B2:B" & Cells(Rows.count, 1).End(xlup).Offset(4, 1).Row)
.FormulaR1C1 = "=IF(RC1="""",R[-1]C,RC1)"
.formula = .Value
End With
wenn der Abstand immer 5 Zeilen ist, könntest du das verwenden:
Range("B1").Value = Range("A1").Value
With Range("B2:B" & Cells(Rows.count, 1).End(xlup).Offset(4, 1).Row)
.FormulaR1C1 = "=IF(Mod(Row(),5)=1,RC1,R[-1]C)"
.formula = .Value
End With
Gruß Daniel
Anzeige
AW: Inhalt einer Zelle in 5 andere kopieren
26.04.2017 09:03:30
Paweljun
Hallo und guten Morgen,
vielen Dank für eure Mühe, Daniels Lösung klappt super, danke Daniel :-)
Viele Grüße, Tobias

335 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige