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

Makro das Formeln kopiert

Makro das Formeln kopiert
11.06.2018 00:35:16
Christian
Hallo an euch alle,
ich muss zuerst sagen, ich bin was VBA anbelangt absoluter Neuling, der versucht sich etwas da hineinzuarbeiten, also bitte habt Verständnis wenn ich haarsträubende Fehler gemacht haben sollte.
Jedenfalls wenn ich das ausführe, was ich bislang habe, sagt mir das Makro "Objekt erforderlich" und weiß hinten und vorne nicht mehr weiter.
Das Makro soll eigentlich nichts großartiges machen. In den Zellen G1:J1 stehen Formeln, diese sollen bis zur letzen Zeile kopiert (und berechnet) werden und im Anschluss von Zeile 2 an bis zur letzten Zeile die Werte eingefügt werden, sodass in Zeile 1 die Formeln erhalten bleiben damit das Ganze nochmal ausgeführt werden kann.
Zweck des Ganzen ist eine halbe Stunde Berechnungszeit, die ich mir sparen möchte und irgendwie wenn ich nur das automatische Formelberechnen ausschalte, dauern Dinge wie Zeilen löschen oder Zellinhalte löschen trotzdem eine Ewigkeit.
Also ist jemand bitte so nett und hilft mir, soweit bin ich bislang:

Sub berechnen()
Dim lngR As Long
Application.ScreenUpdating = False
Application.EnableEvents = False
lngR = Target.Row
Cells(lngR, 7).FormulaR1C1 = Cells(1, 7).FormulaR1C1
Cells(lngR, 8).FormulaR1C1 = Cells(1, 8).FormulaR1C1
Cells(lngR, 9).FormulaR1C1 = Cells(1, 9).FormulaR1C1
Cells(lngR, 10).FormulaR1C1 = Cells(1, 10).FormulaR1C1
Rows(lngR).Copy
Cells(lngR, 1).PasteSpecial xlPasteValues
Application.CutCopyMode = False
Target.Select
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub

Vielen Dank
Christian

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro das Formeln kopiert
11.06.2018 00:56:05
Werner
Hallo Christian,
in welcher Spalte die letzte belegte Zelle ermittelt werden soll hast du leider nicht verraten.
Public Sub aaa()
Dim loLetzte As Long
Application.ScreenUpdating = False
With Worksheets("Tabelle1") 'Blattname anpassen
'Ermitteln der letzten Zeile anhand Spalte G (7) ggf. anpassen
loLetzte = .Cells(.Rows.Count, 7).End(xlUp).Row
.Range(.Cells(1, 7), .Cells(1, 10)).Copy .Range(.Cells(2, 7), .Cells(loLetzte, 10))
.Range(.Cells(2, 7), .Cells(loLetzte, 10)).Value = .Range(.Cells(2, 7), .Cells(loLetzte, 10) _
).Value
End With
Application.ScreenUpdating = True
End Sub
Gruß Werner
Anzeige
AW: Makro das Formeln kopiert
11.06.2018 01:02:20
Daniel
HI
mal davon ausgehend, dass in Spalte A die Tabelle bis zur letzen Zeile gefüllt ist:
Sub berechnen()
Dim lngR As Long
lngR = Cells(Rows.Count, 1).End(xlup).Row
Range("G1:J1").Copy
With Range("G2:J" & lngR)
.PasteSpecial xlPasteFormulas
.Copy
.PasteSpecial xlPasteValues
End With
End Sub
Gruß Daniel
AW: Makro das Formeln kopiert
11.06.2018 07:48:34
Christian
Hallo Werner, hallo Daniel
danke erstmal für eure Mühe.
Werner, bei deinem Makro bekomme ich mitgeteilt, ein Index sei außerhalb des gültigen Bereichs.
Daniel, dein Makro läuft grad, wird aber noch was dauern bis es fertig ist.
Gruß
Christian
Anzeige
ich hab dir doch....
11.06.2018 11:53:18
Werner
Hallo Christian,
...in den Code rein geschrieben, dass du den Blattnamen anpassen mußt. Bei dir gibt es die Tabelle mit dem Namen "Tabelle1" nicht.
Gruß Werner
AW: ich hab dir doch....
11.06.2018 21:29:54
Christian
hallo Werner,
habe den Fehler gefunden, im VBA Editor heißt besagtes Blatt Tabelle1 (Tabelle2) da hab ich wohl auf die falsche Bezeichnung geachtet als ich dachte ich könne dein Makro übernehmen.
Gruß
Christian
PS: Das andere Makro funktioniert, habe aber nun einen ganz anderen Weg genommen, da gerade der Teil des Werte einfügens extremst lange gedauert hat, ich gehe jetzt hin berechne nur die Formeln und füge dann die Tabelle und die Werte in eine neue Mappe ein, lösche das Originalblatt und kopiere die Daten zurück in ein neues Blatt das geht in 10 Sekunden während das Werte einfügen im Originalblatt irgendwie mehrere Stunden gedauert hat.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige