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

VBA - Zeilen kopieren

Forumthread: VBA - Zeilen kopieren

VBA - Zeilen kopieren
08.10.2003 23:22:52
WalterK
Hallo und schönen Abend!

Kann folgendes realisiert werden?

Habe eine Tabelle mit Formeln und Formatierungen erstellt und bis Zeile 40 kopiert.
In Spalte A wird aufsteigend ab Ziffer 1 gezählt, in Spalte B werden Daten eingegeben. In den anderen Spalten finden dann die Berechnungen statt.

Nach der Eingabe und Verlassen der Zelle in Spalte B und wenn zugleich in Spalte A der zweithöchste Wert steht, soll die gesamte Zeile, in der der höchste Wert in Spalte A steht, in die nächsten 5 Zeilen kopiert werden usw.

Es soll also immer die letzte Zeile ohne Daten (aber mit Formeln und Formatierungen) in die nächsten 5 Zeilen kopiert werden.

Besten Dank im voraus
Walter
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - Zeilen kopieren
09.10.2003 00:40:45
Matthias G
Hallo Walter,
folgender Lösungsvorschlag (falls ich dich richtig verstanden habe):

in ein normales Modul folgender Code:
Option Explicit
Sub FillLine(z As Long)
Const LetzteSpalte = 5 'bis Spalte E
Const AnzahlZeilen = 5
Dim t As Range
Set t = ActiveCell
Application.ScreenUpdating = False
Application.EnableEvents = False
Range("A12:C12").Select
Range(Cells(z, 1), Cells(z, LetzteSpalte)).Select
Selection.AutoFill Destination:=Range(Cells(z, 1), Cells(z + AnzahlZeilen, LetzteSpalte)), Type:=xlFillDefault
Cells(z + 1, 2).ClearContents 'Sicherheitshalber löschen
t.Select
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub

Im Beispiel werden die Spalten bis E runterkopiert (Konstante "LetzteSpalte")
Du kannst "AnzahlZeilen" auch auf "1" setzen und immer nur eine Zeile runterkopieren.
Der ScreenUpdating-Befehl ist da, damit es nicht so flackert.

Als Nächstes in das Codemodul der betreffenden Tabelle folgenden Code:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Row = Range("A65536").End(xlUp).Row Then _
FillLine (Target.Row)
End Sub

Wichtig ist, dass das SelectionChange-Modul in das Codemodul der Tabelle kommt (im Projektexplorer des VBA-Editors Doppelklick auf (z.B.) "Tabelle1"!
Sonst wird es beim Selection-Change-Ereignis nicht ausgeführt.

Viel Erfolg,
Matthias
Anzeige
AW: VBA - Zeilen kopieren
09.10.2003 01:05:47
WalterK
Hallo Matthias!

Vielen Dank erstmal, werde es gleich ausprobieren!

Servus, Walter
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

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