Formeln vorkopieren und Werte fixieren

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Formeln vorkopieren und Werte fixieren
von: Bernd
Geschrieben am: 09.07.2015 15:39:28

Hallo zusammen,
ich habe hier eine Tabelle mit 5 Datenzeilen in den Spalten F bis I. Die letzte Zeile enthält ab Spalte H bis I Formeln.
Jeden Monat kommt nun eine Zeile hinzu, d. h. die Formen "rutschen" eine Zeile runter und die Formeln der Vormonatszeile sollten mit den Vormonatswerten sollten "fixiert" werden.
Technisch habe ich das bisher so gemacht, dass ich vor dem Import der neuen Daten die Formeln eine Zeile runterkopiert habe und dann die Vormonatsbezüge (Formeln) durch Werte ersetzt habe.
Gibt es dafür eine elegantere Lösung durch VBA? Ich muss dies nämlich mehrmals wiederholen!
Viele Grüße
Bernd

Bild

Betrifft: sollte mit INDEX() realisierbar sein, doch ...
von: der neopa C
Geschrieben am: 09.07.2015 15:49:26
Hallo Bernd,
... um es konkreter anzugeben, wäre eine kleine Beispielarbeitsmappe sinnvoll.
Gruß Werner
.. , - ...

Bild

Betrifft: AW: sollte mit INDEX() realisierbar sein, doch ...
von: Bernd
Geschrieben am: 09.07.2015 16:16:15
Hallo
hier eine Musterdatei....
https://www.herber.de/bbs/user/98742.xlsx
Gruß,
Bernd

Bild

Betrifft: so wird VBA notwendig ...
von: der neopa C
Geschrieben am: 09.07.2015 16:39:52
Hallo Bernd,
... da Du für mich jetzt offensichtlich Deine auszuwertenden Daten womöglich immer überschreiben willst, würden die Ergebnisse der vorherigen Formeln ja immer die der aktuellen Daten ergeben.
Wenn Du das so realisieren willst, wird VBA notwendig. Ich stell den thread offen, da ich mich aus VBA-Lösungen heraus halte.
Gruß Werner
.. , - ...

Bild

Betrifft: AW: so wird VBA notwendig ...
von: Bernd
Geschrieben am: 09.07.2015 17:17:22
Hallo nochmals,
das Problem ist halt,dass die Quelldaten jeden Monat aktualisiert und damit überschrieben werden.
Viele Grüße
Bernd

Bild

Betrifft: AW: so wird VBA notwendig ...
von: hary
Geschrieben am: 10.07.2015 08:01:45
Moin
Eine Moeglichkeit.

With Worksheets("Auswertung").Cells(Cells(Rows.Count, 4).End(xlUp).Row, 4)
  .Copy
  .Offset(1, 0).PasteSpecial Paste:=xlFormulas
  .Value = .Value
End With
Application.CutCopyMode = False

gruss hary

Bild

Betrifft: AW: so wird VBA notwendig ...
von: Bernd
Geschrieben am: 10.07.2015 11:24:13
Hallo,in
in der Zeile 17 befindet sich "leider" noch eine Summenformel, die ich in der Musterdatei vergessen hatte. Das führt wohl dazu, dass der Code diese Zelle abarbeitet, statt die gewünschte. Kann man das noch berücksichtigen?
Auf jeden Fall schon mal vielen Dank!
Bernd

Bild

Betrifft: AW: so wird VBA notwendig ...
von: hary
Geschrieben am: 13.07.2015 06:17:46
Moin
War offline. Was soll passieren wenn bis Zeile17 gefuellt?

With Worksheets("Auswertung").Cells(Cells(6, 4).End(xlDown).Row, 4)
  .Copy
  .Offset(1, 0).PasteSpecial Paste:=xlFormulas
  .Value = .Value
End With
Application.CutCopyMode = False

gruss hary

Bild

Betrifft: AW: so wird VBA notwendig ...
von: Bernd
Geschrieben am: 13.07.2015 13:44:13
Hallo ,
dort steht MITTELWERT der Werte aus der Spalte. Also pro Monat wird ein Wert ermittelt, dann soll dieser fixiert werden, dann werden neue Monatswerte importiert, wieder fixiert, usw. um in Zeile 17 steht dann der Mittelwert dieser fortgeschriebenen Monatswerte.
Viele Grüße
Bernd

Bild

Betrifft: AW: so wird VBA notwendig ...
von: hary
Geschrieben am: 14.07.2015 06:15:43
Moin
Also passt es soweit??
Ansonsten noch abfragen ob die Zeile 17 ist.

With Worksheets("Auswertung").Cells(Cells(6, 4).End(xlDown).Row, 4)
If .Row = 17 Then
 MsgBox "Bis zeile 17 gefuellt", vbInformation
  Exit Sub '--Abbruch
End If
  .Copy
  .Offset(1, 0).PasteSpecial Paste:=xlFormulas
  .Value = .Value
End With
Application.CutCopyMode = False

gruss hary

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Formeln vorkopieren und Werte fixieren"