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

Individuelle Reihen

Individuelle Reihen
22.07.2020 11:41:52
Klein
Hallo Zusammen,
ich habe folgendes Problem.
ich habe eine Excel Datei mit bis zu 10.000 Zeilen.
Jetzt würde ich gerne eine Zeile markieren (beinhaltet eine Formel) und in die übernächste Zeile einfügen.
Und diese Schleife bis zu 10.000 sten Zeile.
Schleife sollte so aussehen:

Sub Makro2()
' Makro2 Makro
Rows("4:4").Select
Selection.Copy
Rows("6:6").Select
ActiveSheet.Paste
Rows("6:6").Select
Selection.Copy
Rows("8:8").Select
ActiveSheet.Paste
End Sub

Kann mir da jemand diesen Vorgang bis zur 10.000 sten Zeile zu automatisieren.
Viele Grüße,
Ewald

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Das ist aber umständlich
22.07.2020 11:50:15
lupo1
Du tust Dir keinen Gefallen mit abwechselnden Zeileninhalten. Die Datei wird groß und unlogisch.
...
[4:10000].FillDown
...

mit einer Beispiel-Formel in Zeile 4:
A4: =WENN(ISTGERADE(ZEILE();DeineFormel;)
AW: Das ist aber umständlich
22.07.2020 11:55:19
Klein
Naja ich habe halt zum Beispiel in Spalte P,R,T usw formel dich ich quasi in die Übernächste kopieren möchte.
AW: Das ist aber umständlich
22.07.2020 11:57:45
Klein
und in der nächste zeile sind werte drin, die ich quasi für meine Formel in der übernächsten Zeile benötige.
Gruß,
Ewald
AW: Individuelle Reihen
23.07.2020 12:21:38
Klaus
Hi Klein,
ich schließe mich Lupo an - das ist umständlich, unübersichtlich, quatsch. Trotzdem zeige ich dir gern die Lösung auf deine Frage.
Zunächst:
Rows("4:4").Select
Selection.Copy
Rows("6:6").Select
ActiveSheet.Paste
Rows("6:6").Select
Selection.Copy
du kopierst Zeile 4 (ich nehme an da stehen die Formeln) und fügst sie in Zeile 6 ein. Danach kopierst du Zeile 6 - warum? In Zeile 6 steht doch nach dem einfügen das gleiche wie in Zeile 4, da reicht es doch die Kopie von Zeile 4 weiter zu nutzen.
Folgendes Script fügt dir die Formeln aus Zeile 4 in jede gerade Zeile zwischen 6 und 10000 ein, ist dabei aber sowas von Sacklangsam dass du dir am besten nen Kaffee holst:
Sub Test()
'zeile 4 kopieren, bis Zeile 10000
Const fRow As Long = 4
Const lRow As Long = 10000
Dim z As Long
With ActiveSheet
.Rows(fRow).Copy
For z = fRow + 2 To lRow Step 2
.Rows(z).PasteSpecial
Next z
End With
Wüsste ich besser, was du eingentlich vorhast, könnte ich vielleicht eine optimierte Version schreiben.
LG,
Klaus
Anzeige
schnellere Variante ohne Schleife
23.07.2020 12:31:00
Klaus
Hi Ewald,
und hier nochmal eine schnelle, schleifenlose Variante. Nutzt dafür eine Hilfsspalte. Ist vielleicht für den VBA-Anfänger nicht so intuitiv nachzuvollziehen wie eine Schleife, aber dafür schön fix :-)
Statt in 2-er Schritten durchzugehen, generiert der Code erstmal alle zwei Zeilen einen #DIV0! Fehler in einer Hilfsspalte, das geht in einem Rutsch. Dann werden alle fehlerhaften Zellen ausgewählt, und davon die ganze Zeile: jetzt hat das Script jede gerade Zeile in der Hand. In diesen ausgewählten Bereich findet schließlich der Paste-Befehl statt, der dievorher kopierte Formelzeile einfügt.
LG,
Klaus
Sub Test()
'zeile 4 kopieren, bis Zeile 10000
Const fRow As Long = 4
Const lRow As Long = 10000
'unbenutzte Spalte - im Beispiel Spalte 26, also Z.
Const FreeCol As Long = 8
Dim z As Long
With ActiveSheet
.Range(.Cells(fRow + 2, FreeCol), .Cells(lRow, FreeCol)).FormulaR1C1 = "=1/MOD(ROW(),2)"
.Rows(fRow).Copy
.Columns(FreeCol).SpecialCells(xlCellTypeFormulas, 16).EntireRow.PasteSpecial
.Columns(FreeCol).ClearContents
End With
End Sub

Anzeige
Ich komme zurück auf wechselnde Formeln nacheinan-
23.07.2020 19:14:49
lupo1
... der:
Excel erkennt Formeln im Block und schafft dann Platz. Quält man es mit unnötigen Wechseln aufgrund fehlender Philosophie, schlägt es eiskalt mit größerer Dateigröße zurück.
Ich habe schon lange niemanden mehr gesehen, der das a) NICHT weiß oder b) NICHT intuitiv beherzigt.
AW: Ich komme zurück auf wechselnde Formeln nacheinan-
24.07.2020 13:12:56
Klaus
Jo, voll deiner Meinung, Lupo. Hab ja auch geschrieben, die Tabelle ist wahrscheinlich Mist :-)
Es kann allerdings auch sein, dass das ein Fall von "Chef will es so" ist - hab ich auch schon oft genug gehabt. Wir werden es nie erfahren, da der TE sich ohne "danke" verdrückt hat.
Trotzdem, auch wenn es eine Misttabelle ist: ich finde, eine ordentliche Lösung kann man schon geben, halt mit entsprechendem Hinweis.
LG,
Klaus
Anzeige
Meinst Du mich? Ich weiß doch gar n., wo was steht
25.07.2020 00:33:47
lupo1

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige