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

Formeln erweitern

Formeln erweitern
24.09.2017 07:57:33
stef26
Guten Morgen,
ich hab da mal ne Frage.
Ich hab eine Tabelle (Archiv) in der steht in der Zelle F2 & G2 eine Matrixformel.
In Spalte A wird das Datum eingetragen. Jeden Tag kommen mehrere Einträge hinzu.
Da die Liste extrem groß ist wandle ich in der Tabelle die Formeln nach der Berechnung in Werte um.
Dies möchte ich nun versuchen per Makro machen zu lassen.
Dazu müsste das Makro folgendes ausführen.
a) Kopiere die Formel aus F2 und G2
b) Füge diese in jede Zelle (F & G) die in der Spalte A das Datum heute -15 Tage bis heute ein
c) lasse berechnen
d) wandle die Formeln aus diesem Bereich wieder in Werte um
Leider ist mein VBA nicht so gut, dass ich das auf die Reihe bekommen würde und ich hoffe, dass mir hier jemand unter die Arme greifen kann.
Liebe Grüße
Stefan

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
zeich doch ma
24.09.2017 08:04:12
lupo1
Da die Formeln also schon umgewandelt sind und nur noch deren Vorlage benötigt wird, würde ich an Deiner Stelle, wenn die (Eingabe)-Datensätze die Spalten A:K füllen, ein Change-Ereignis auf die Spalte K legen und damit die Formel als Wert nach jedem Satz einsetzen.
Benötigst Du das Formelergebnis nicht sofort, und nervt Dich eine auch dann noch mögliche Neuberechnungsdauer, selbst wenn es nur eine Formel ist, kannst Du dieses Prozedere auch manualisieren.
Eine Tabelle (kein Bild, keine Fremdverlinkung außerhalb des Forums) mit Wunschergebnis (also welche Formel in welche Spalte) wäre dafür hilfreich.
Anzeige
AW: zeich doch ma
24.09.2017 08:58:55
stef26
Hallo Lupo1,
danke für deine Rückmeldung.
Ich hab mal die Tabelle reingehängt.
https://www.herber.de/bbs/user/116467.xlsx
Allerdings musste ich viele Daten löschen und Formeln verändern, da die Formeln auf mehrere andere Tabellenblätter zugreifen. Die Formel in Zelle F2 und G2 stimmt so nun nicht mehr. Dürfte aber nicht wichtig sein.
Was dringend notwendig ist die Schritte a - d zu machen da sich das Formelergebnis der letzten 15 Tage nochmals ändern kann.
Gruß
Stefan
Kann man wenig mit anfangen ...
24.09.2017 13:37:18
lupo1
- mangelnde Wunschergebnisse. Oder nicht gekennzeichnet, welches diese sind.
Anzeige
AW: Kanns nicht besser erklären
24.09.2017 15:56:23
stef26
Hallo Lupo1,
ich weiß nicht wie ich es anders erklären soll.
Das Makro soll folgendes durchführen:
a) in der Zelle F2 und G2 befinden sich Formeln (in der Beispieldatei abgeändert)
b) Nun soll in Spalte F & G diese Formeln kopiert werden. Aber nur in diesen Zellen, in denen in Spalte A das heutige Datum minus 15 Tage bis zum heutigen Datum.
(da sich das Ergebnis in den letzten 15 Tagen immer noch anpassen kann)
c) Berechnen lassen
d) Formeln in Werte umwandeln lassen
Eigentlich bräuchte ich nur b), da ich C) und d) selbst hinbekommen sollte
Gruß
Stefan
Anzeige
Ein Versuch
24.09.2017 16:47:36
lupo1
... das Formel-Kopieren klappt irgendwie nicht (Zeile 3 und 5). Vielleicht kann einer der VBA-Xperten hier helfen:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Column  2 Then
For j = 4 To 7
If j  5 Then Cells(Target.Row, j).FormulaR1C1 = Cells(2, j).FormulaR1C1
Next
Cells(Target.Row, 5).FormulaArray = Cells(2, 5).FormulaArray
End If
i = 3: j = 3
On Error Resume Next
i = WorksheetFunction.Match(Today - 16, Cells(, 1))
j = WorksheetFunction.Match(Today - 23, Cells(, 1))
j = WorksheetFunction.Max(3, j)
On Error GoTo 0
If i > 3 Then Range("A" & j & ":G" & i) = Range("A" & j & ":G" & i).Value
Application.EnableEvents = True
End Sub

Anzeige
AW: VBA Experte
24.09.2017 17:22:02
stef26
Danke Lupo für den Versuch.
Ich hab keinen Plan was nicht geht.
Ich mach mal auf OFFEN, damit sich dass noch jemand mal ansehen kann.
Vielen Dank trotzdem
Gruß
Stefan
AW: VBA Experte
25.09.2017 10:10:15
Michael
Hallo!
Ich hab mal "Experte" ignoriert. Von dem, was ich bisher verstanden habe, ungetestet, für das Übertragen der Formeln aus F2:G2 in F3:Gx, wobei x gleich der letzten gefüllten Zelle in F:F entspricht:
Sub a()
Dim Wb As Workbook: Set Wb = ThisWorkbook
Dim Ws As Worksheet: Set Ws = Wb.Worksheets("Tabelle1")
Dim Bereich As Range, Zelle As Range
With Ws
'F3:Gx, wobei x = letzte gefüllte Zelle in F:F
Set Bereich = .Range("F3:G" & .Cells(.Rows.Count, "F").End(xlUp).Row)
For Each Zelle In Bereich
If CDate(.Cells(Zelle.Row, "A")) = Date - 15 Then
Zelle.FormulaLocal = .Cells(2, Zelle.Column).FormulaLocal
Zelle.Value = Zelle.Value
End If
Next Zelle
End With
Set Wb = Nothing: Set Ws = Nothing
Set Bereich = Nothing: Set Zelle = Nothing
End Sub
Die eingetragenen Formeln werden sofort durch ihren Wert ersetzt.
LG
Michael
Anzeige
AW: VBA Experte
25.09.2017 15:46:52
stef26
Hallo Michael,
super es funktioniert so wie ich das mir gewünscht habe.
Vielen herzlichen Dank
Gruß
Stefan
P.S. du bist doch ein VBA Experte ! :-)
Freut mich, Danke für die Rückmeldung, owT
25.09.2017 16:27:45
Michael

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige