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

Formel ändern

Formel ändern
10.05.2023 11:12:56
chris58

Hallo !
Ich habe diese Formel seit ca. 5 Jahren in Gebrauch,Es hat mir ein User von hier freundlicherweise geschrieben. Nun habe ich die Datei umgestellt und will das diese Formel für folgendes angewendet wird. Die Formel soll aus Feld H automatisch den Verbrauch pro Stunde eerrechnen und in Feld J speichern.
Was soll/ muß ich ändern, damit ich dies erreiche.
Danke chris58

A B C D E F G H I J
10.05.2023 08:00:00 9 027,19 10,6724 3 895,41 12 713,77 + 262,11 14,45 Dienstag

Sub ProStunde()
Range("J15:J" & Cells(Rows.Count, 1).End(xlUp).Row).FormulaR1C1 = "=(R[-1]C[-4]-RC[-4])/(R[-1]C[-6]+R[-1]C[-5]-RC[-6]-RC[-5])/24"
Range("C1").Select
End Sub

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel ändern
10.05.2023 11:26:20
UweD
Hallo

zeig doch mal, wo die Zellen getrennt sind

ggf mit |

LG UweD


AW: Formel ändern
10.05.2023 11:35:33
chris58
Tut leid, das ist zusammengerutscht.

A / B /C /D /E /F / G /H /I /J
10.05.2023 / 08:00:00 / 9 027,19 / 10,6724 / 3 895,41 / 12 713,77 / + 262,11 / 14,45 / Dienstag


AW: Formel ändern
10.05.2023 11:54:27
GerdL
Hallo Chris!
=(F14-F15)/(D14+E14-D15-E15)/24

Das erzeugt der gezeigte Code in J15 in der A1-Schreibweise.
Wie soll deine Formel in K 15 nun in dieser Schreibweise aussehen?

Gruß Gerd


Anzeige
AW: Formel ändern
10.05.2023 11:55:42
Daniel
was rechnet den die Formel bisher?
hast du grundsätzlich das Problem, die Formel zu erstellen (also auch direkt in Excel) oder fehlt dir die Umsetzung der Formel in Makrocode?
was steht denn in den einzelnen Zellen (Spaltenüberschriften?) und wie genau soll die Berechnung durchgeführt werden (die allgemeine Rechenregel müsstest du ja kennen)
Gruß Daniel


AW: Formel ändern
10.05.2023 11:33:50
Daniel
Hi
kannst du die neue Formel in Excel selber schreiben?
dann mach das und schreibe die Formel so wie du sie brauchst, direkt in J15
Gib dann im Direktfenster (kannst du dir ggf über das Menü Ansicht aktivieren) den Befehl ein:
?Range("J15").FormulaR1C1
dann bekommst du den Text für die neue Formel, die du in das Makro übernehmen kannst.
Gruß Daniel


Anzeige
Mal eine blöde Nachfrage
10.05.2023 11:54:00
RPP63
Moin!
Warum sollte man eine simple arithmetische Formel (Grundrechenarten) mittels R1C1-Schreibweise per VBA in einen Bereich schreiben?
Normalerweise macht man das doch händisch und füllt die Spalte mittels Doppelklick auf das Ausfüllkästchen?
Ansonsten - wenn schon per VBA - dann doch eher per .Formula
Pseudocode:
Range("J15:J742").Formula = "=f15-g15+b15/24"
Die Zeilennummer wird von Excel automatisch angepasst.

Gruß Ralf


AW: Mal eine blöde Nachfrage
10.05.2023 14:29:34
chris58
Hallo !
Ja, danke für die Frage. Diese Formel ist in einem VBA Code eingebunden, sodaß bei Berechnung alles auf einmal in die zu sicherende Zeile geschrieben wird.
Ich habe das nun mit gelöst indem ich mich lange gespielt habe (rausgelöscht und wieder reingenommen usw.) aber es funktioniert nun.
Danke jedenfalls, das Ihr Euch mein Problem angesehen habt. Hier der ganz Code, wo die Formel am Ende drinnensteht, falls es hier wem interssiert.
Danke nochmals
chris58

Sub ProtokollSichern()
        Dim i As Long
        Const NewConstSheet As String = "Berechnung"
        Dim bfound As Boolean
        Dim sMerk As String
        Dim sMaxZeile As Long
        Dim TB As Worksheet
        
        Application.ScreenUpdating = False
        
        'Prüfen ob Tabelle NewConstSheet schon angelegt ist
        For i = 1 To ActiveWorkbook.Sheets.Count
            If ActiveWorkbook.Sheets(i).Name = NewConstSheet Then
                bfound = True
                Exit For
            End If
        Next i
        
        'wenn nicht dann anlegen
        If bfound = False Then
            sMerk = ActiveWorkbook.ActiveSheet.Name
            ActiveWorkbook.Sheets.Add after:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
            ActiveWorkbook.ActiveSheet.Name = NewConstSheet
            ActiveWorkbook.Sheets(sMerk).Activate
        End If
        
        Set TB = ActiveWorkbook.Sheets(NewConstSheet)
        
        'nächste leere Zeile ermitteln
        sMaxZeile = TB.Cells(TB.Rows.Count, 1).End(xlUp).Row + 1
        
        'Daten in neue Tabelle übertragen
        TB.Cells(sMaxZeile, 1) = ActiveWorkbook.ActiveSheet.Range("C7")
        TB.Cells(sMaxZeile, 2) = ActiveWorkbook.ActiveSheet.Range("B7")
        TB.Cells(sMaxZeile, 3) = ActiveWorkbook.ActiveSheet.Range("C6")
        TB.Cells(sMaxZeile, 4) = ActiveWorkbook.ActiveSheet.Range("C11")
        TB.Cells(sMaxZeile, 5) = ActiveWorkbook.ActiveSheet.Range("C12")
        TB.Cells(sMaxZeile, 6) = ActiveWorkbook.ActiveSheet.Range("C13")
        TB.Cells(sMaxZeile, 7) = ActiveWorkbook.ActiveSheet.Range("C14")
        TB.Cells(sMaxZeile, 9) = ActiveWorkbook.ActiveSheet.Range("D7")
        
           
        
        '   Formel in Spalte H
        TB.Cells(sMaxZeile, 8).FormulaR1C1 = "=(RC3-R[-1]C3)/(RC1-R[-1]C1)"
        
        '   Formel in Spalte J
        TB.Cells(sMaxZeile, 10).FormulaR1C1 = "=(RC[-2])/24"
     
        Application.ScreenUpdating = True
    End Sub


Anzeige
Formel nur für einen Tag
10.05.2023 17:14:08
chris58
Nochmals Hallo !
Ich bin gerade draufgekommen, das diese Formel nur richtig rechnet, wenn ich jeden Tag die neuen Daten eingebe. Wenn ich nun 2 Tage (Datumsunterschied) habe, dann rechnet die Formel falsch. Kann man das irgendwie richtig machen. Dachte ich bin durch, doch ..........................
Also falsl wer Zeit findet, ich wäre sehr dankbar
chris


AW: Formel nur für einen Tag
10.05.2023 23:18:31
onur
Dann poste doch endlich auch mal eine Datei, wo man sofort sehen kann, was du meinst und willst.


AW: Formel nur für einen Tag
11.05.2023 09:04:49
chris58
Hallo !
Ja, hier habe ich die Datei. Die Formel sollte mit dem letzten Datum zum jetzigen Datum den Verbrauch pro Stunde berechnen.
Danke
chris58

https://www.herber.de/bbs/user/159139.xls


Anzeige
AW: Formel nur für einen Tag
12.05.2023 20:22:04
Firmus
Hi Chris,

wenn du den durchschnittlichen stündlichen Verbrauch der laufenden Periode berechnen willst, musst du nicht nur durch 24 dividieren,
sondern
1. "Bishere Tage seit letzter Verrechnung" in Stunden umrechnen, aber vorher reduziert um einen Tag.
andernfalls würdest du den letzten Tag zweimal einrechnen.
Beispiel: 31.03.2023 bis 16.04.2023 16:00:00
96 Tage (inclusive 16.04.2023)
16 Stunden, für den 16.04.2023 wie notiert
Du siehst, dass hier der 16.04.2023 einmal über die Tage, und zusätzlich über 16 Stunden einfließen würde.
Ergebnis: 2296 Stunden.

2. "Differenz kWh letzte Ablesung bis Heute" muss dann durch die ermittelte Stundenzahl dividiert werden.
Wert: 90,36

3. Nach der Berechnung
90,36 kWh / 2296 Stunden = 0,24 kWh/Stunde in der laufenden Periode

4. In das Makro eingebaut:
https://www.herber.de/bbs/user/159173.xls (altes Format!)

Gruß,
Firmus


Anzeige
AW: Formel nur für einen Tag
13.05.2023 10:04:08
chris58
Hallo Firmus !
Danke für deine ausführlichen Ausführugen und vor allem Danke für die Formel. Damit bin ich nun fast fertig.
Danke chris58

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige