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

Kalkulation in Zeile

Kalkulation in Zeile
10.04.2018 18:59:05
Jakob
Guten Abend
Hat mir jemand eine einfachere und schönere Lösung für meinen Fall.

Sub Kalkulation_definitiv()
Application.ScreenUpdating = False
Dim s_zelle1 As Double
Dim s_zelle2 As Double
Dim s_zelle3 As Double
Dim s_zelle4 As Double
Dim S As Double
Dim zähler1 As String
S = InputBox("Eingabefeld", "Tagespreis eingeben")
Range("K1").Select
Do Until ActiveCell.Value = ""
If ActiveCell.Value >= 1 Then
ActiveCell.Offset(0, -3).Activate
s_zelle1 = ActiveCell.Value
ActiveCell.Offset(0, -4).Select
s_zelle2 = ActiveCell.Value
ActiveCell.Offset(0, -1).Select
s_zelle3 = ActiveCell.Value
ActiveCell.Offset(0, 9).Select
ActiveCell.Value = (s_zelle1 + s_zelle2) + S
ActiveCell.Offset(0, 1).Select
ActiveCell.Offset(0, -1).Select
s_zelle4 = ActiveCell.Value
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = s_zelle3 * s_zelle4
ActiveCell.Offset(1, -2).Select
End If
Loop
Application.ScreenUpdating = True
End Sub

Irgendwie sollte es doch einfacher gehen Zeile um Zeile mit immer der gleichen Kalkulation abzuarbeiten.
Kalkulation pro Zeile in Kürze. Spalte L = D + H + Wert von Inputbox
Spalte M = L *C
Dieses sollte es machen bis zur letzten beschriebenen Zeile (Referenzspalte ist K, beginnend bei Zeile 1)
Es muss VBA Lösung sein!
FG Kurt

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

Betreff
Datum
Anwender
Anzeige
AW: Kalkulation in Zeile
10.04.2018 19:39:03
Daniel
Hi
hier eine VBA-Lösung, die nicht nur den B- sondern auch den A-Teil von VBA nutzt:
Sub xxx()
Dim S As Double
S = Application.InputBox("Eingabefeld", "Tagespreis eingeben", Type:=1)
With Range("L1:M" & Cells(Rows.Count, 11).End(xlUp).Row)
.Columns(1).FormulaR1C1 = "=RC8+RC4+" & S
.Columns(2).FormulaR1C1 = "=RC12*RC3"
.Formula = .Value
End With
End Sub
Gruß Daniel
Korrektur
10.04.2018 19:53:31
Daniel
sorry, hab die Prüfung auf größer gleich 1 vergessen:
Sub xxx()
Dim S As Double
S = Application.InputBox("Eingabefeld", "Tagespreis eingeben", Type:=1)
With Range("L1:M" & Cells(Rows.Count, 11).End(xlUp).Row)
.Columns(1).FormulaR1C1 = "=IF(RC11>=1,RC8+RC4+" & S & ","""")"
.Columns(2).FormulaR1C1 = "=IF(RC11>=1,RC[-1]*RC3,"""")"
.Formula = .Value
End With
End Sub
aber hier eine Lösung, die deinem Wunsch nach reinem VBA vielleicht eher entspricht
Sub Kalkulation_definitiv()
Application.ScreenUpdating = False
Dim Z As Long
Dim S As Double
Dim zähler1 As String
S = InputBox("Eingabefeld", "Tagespreis eingeben")
For Z = 1 To Cells(Rows.Count, 11).End(xlUp).Row
If Cells(Z, 11).Value >= 1 Then
Cells(Z, 12).Value = Cells(Z, 8).Value + Cells(Z, 4).Value + S
Cells(Z, 13).Value = Cells(Z, 11).Value * Cells(Z, 3).Value
End If
Next
Application.ScreenUpdating = True
End Sub
Gruß Daniel
Anzeige
AW: Kalkulation in Zeile
10.04.2018 20:00:41
Jakob
Vielen Dank Daniel
Funktioniert super und sieht schon etwas profimässiger aus :-).
Noch zu meinem Verständnis, was bewirkt dieser Code?
.Formula = .Value
Wie müsste ich diesen Code abändern, wenn die Resultate z.B. in Spalte A und Z wären und nicht nebeneinander?
With Range("L1:M" & Cells(Rows.Count, 11).End(xlUp).Row)
Ich frage etwa dumm ich weiss, aber für mich ist so der Lerneffekt grösser.
FG Kurt
AW: Kalkulation in Zeile
10.04.2018 20:11:03
Daniel
hi
das .Formula = .Value ersetzt die Formeln durch ihre Werte.
damit verschwinden die Formeln und das Blatt sieht so aus, als wäre es direkt mit VBA erstellt worden.
wenn die Ergebnisse in Spalten sollen, die nicht direkt nebeneinander liegen, dann müsstest du jede Spalte einzeln programmieren:
With Range("A1:A" & Cells(Rows.Count, 11).End(xlUp).Row)
.FormulaR1C1 = "=RC8+RC4+" & S
.Formula = .Value
End With
With Range("Z1:Z" & Cells(Rows.Count, 11).End(xlUp).Row)
.FormulaR1C1 = "=RC1*RC3"
.Formula = .Value
End With
Gruß Daniel
Anzeige
AW: Kalkulation in Zeile
10.04.2018 20:27:02
Jakob
super, sehr interessant und lehrreich.
Merci und schönen Abend

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige