Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
932to936
932to936
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Per Makro letzte Zeile finden und Formeln kopieren

Per Makro letzte Zeile finden und Formeln kopieren
18.12.2007 11:32:16
Tobias
Hallo,
Ich habe ein Tabellenblatt welches regelmäßig mit unterschiedlich vielen Daten gefüllt wird (Datenbereich B4:FD?). Im Hintergrund sind sehr viele Formeln auf mehreren Blättern hinterlegt (u.a. Index), und die Berechnung dauert unheimlich lange. Da ich nun die Ausgangsdatei klein halten möchte, suche ich eine Möglichkeit nur so wenig Berechnungen wie möglich zu machen, d.h. die Formeln nur auf die mit Daten gefüllten Felder anzuwenden.
Am besten per Makro sollen folgende Schritte ablaufen
1. in Spalte B die letzte mit Werten gefüllte Zeile herausfinden (diese müsste dann wahrscheinlich als Variable gespeichert werden)
2. im Bereich FG4:FW4 habe ich die Formeln stehen die "nach unten kopiert" werden sollen. D.h. das Makro sollen den Zellbereich FG4:FW4 makieren und diesen bis FG?FW? kopieren, wobei ? die letzte Zeile ist
3. im Tabellenblatt "Ausgabe" habe ich ebenfalls nur in der ersten Zeile A1:D1 Formeln stehen. Diese sollen auch bis zur Zeile ? nach unten kopiert werden (also A?D?)
Hoffe jemand kann mir helfen, vielen Dank für eure Zeit und Mühe!!
Gruß, Tobias

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Per Makro letzte Zeile finden und Formeln kopieren
18.12.2007 11:58:00
Klaus
Hallo Tobias,
ungetestet mangels Beispieldatei:

Option Explicit
Sub Verformeln()
Dim lRow As Long
With Application
.ScreenUpdating = False
.Calculation = xlCalculationManual
End With
With Sheets("DeinBlatt")
lRow = .Range("B65536").End(xlUp).Row
.Range("FG4:FW4").Copy .Range("FG" & irow & ":Fw" & irow)
End With
With Sheets("Ausgabe")
.Range("A1:D1").Copy .Range("A" & lRow & ":D" & lRow)
End With
With Application
.Calculation = xlCalculationAutomatic
.ScreenUpdating = True
End With
End Sub


Grüße,
Klaus M.vdt.

Anzeige
AW: Per Makro letzte Zeile finden und Formeln kopieren
18.12.2007 12:05:32
Klaus
Sorry,
die Formel soll natürlich nicht IN die letzte Zeile, sondern BIS ZUR letzten Zeile kopiert werden. Korrektur anbei.

Option Explicit
Sub Verformeln()
Dim lRow As Long
With Application
.ScreenUpdating = False
.Calculation = xlCalculationManual
End With
With Sheets("DeinBlatt")
lRow = .Range("B65536").End(xlUp).Row
.Range("FG4:FW4").Copy .Range("FG5:FW" & irow)
End With
With Sheets("Ausgabe")
.Range("A1:D1").Copy .Range("A:D" & lRow)
End With
With Application
.Calculation = xlCalculationAutomatic
.ScreenUpdating = True
End With
End Sub


Ich habe mal darauf verzichtet, den Zellbereich FG4:FW4 extra zu markieren bevor er kopiert wird - das nagt nur an der Performance.
Grüße,
Klaus M.vdT.

Anzeige
AW: Per Makro letzte Zeile finden und Formeln kopieren
18.12.2007 12:00:00
Daniel
Hi
dim letzeZeile as long
letzteZeile = range("B65536).end(xlup).row
range("FG4:FW4").copy destination:=Range("FG5:FW" & letzteZeile)
die letzte Zeile kann man noch etwas abändern, wenn wirklich nur Formeln geändert werden sollen:
range("FG4:FW4").copy
Range("FG5:FW" & letzteZeile).pastespecial xlpasteformulas
oder:
Range("FG5:FW" & letzteZeile).formulaR1C1 = range("FG4:FW4").formular1c1
Gruß, Daniel

Rückmeldung?
19.12.2007 17:22:00
Klaus
Hallo Tobias,
eine kurze Rückmeldung würde ich, und der Daniel bestimmt auch, sehr begrüßen.
Vielen Dank,
Klaus M.vdT.
Anzeige

333 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige