Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1376to1380
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 wenn Bedingung erfüllt

Formel wenn Bedingung erfüllt
14.08.2014 12:21:34
Orgensek
Hallo zusammen,
leider bin ich mit meinem Latein am Ende und bitte Euch um eine Eurer genialen Excell-Gehirnzellen.
Anbei ein Ausschnitt meiner Tabelle.
Ziel ist es; den durchschnittlichen Lagerbestand zu berechnen (R4).
Dafür berechne ich D4+E2-E3 und kopiere die Formel nach rechts. Jetzt soll Excell diese Formel in jeder vierten Zeile anwenden (eine Vereinfachung für mich, weil ich dachte es geht mit der Formel: wenn rest zeile, jedoch ein Trugschluss: excell überschreibt die Zeilen die dazwischen liegen)
Ich möchte gern, dass Excell diese einfache Formel immer dann anwendet, wenn in Zelle D eine Zahl größer/ gleich 0 auftaucht...wie stelle ich das an?
Für jede Hilfe bin ich Euch sehr dankbar.
Viele Grüße
Orgensek
https://www.herber.de/bbs/user/92098.xlsx

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel wenn Bedingung erfüllt
14.08.2014 12:48:18
Klaus
Hallo Orgensek,
Vielleicht so?
Sub FormelWennBestandGefuellt()
Dim r As Range
Const FormelSpalte As Long = 18  'Formel in Spalte 18 = R
Const BestandSpalte As Long = 4  'Bestand in Zeile 4
Const firstRow As Long = 2 'ab Zeile 2
Dim lastRow As Long
With ActiveSheet
lastRow = .Cells(.Rows.Count, BestandSpalte).End(xlUp).Row
For Each r In .Range(.Cells(firstRow, BestandSpalte), .Cells(lastRow, BestandSpalte))
If r.Value  "" Then
.Cells(r.Row, FormelSpalte).FormulaR1C1 = "=RC[-14]+R[-2]C[-13]-R[-1]C[-13]"
End If
Next r
End With
End Sub
Auf das "mod 4" habe ich verzichtet, stattdessen prüfe ich ob Spalte D leer ist oder nicht um die Formel zu schreiben.
Ohne VBA sehe ich keine Chance. Eine Formel kann sich ja nicht selber löschen wenn sie nicht gebraucht wird. Und eine =WENN(xxx;"",Formel) Lösung kommt bestimmt nicht in Frage, denn da währst du selber drauf gekommen :-)
Grüße,
Klaus M.vdT.

Anzeige
AW: Formel wenn Bedingung erfüllt
14.08.2014 13:15:03
Orgensek
Vielen Dank für deine schnelle Antwort...
sehr, sehr geil - große Freude erlebt, beim Makro ausführen :-)DANKE
Problem: mit Ausführung des Makros füllt er jetzt Spalte 18 (R) aus- diese Berechnung kommt aber zum Schluss.
Excell soll die programmierte Formelberechnung D4+E3-E4 in E4-P4 berechnen, dann in Q4 die Summe daraus bilden (das sind die Monatsendbestände) und dann in R4 rechnen: D4+Q4/13 ... und das alles, wie du es schon geschrieben hast, wenn D nicht leer ist...
Was muss ich anders machen?
danke, danke, danke

AW: Formel wenn Bedingung erfüllt
14.08.2014 13:28:46
Klaus
Hallo Orgensek,
das Makro macht genau was du im ersten Beitrag abgefordert hast :-)
Im Endeffekt musst du deine Formelbedarfe einfach alle in die Schleife schreiben
With ActiveSheet
lastRow = .Cells(.Rows.Count, BestandSpalte).End(xlUp).Row
For Each r In .Range(.Cells(firstRow, BestandSpalte), .Cells(lastRow, BestandSpalte))

HIER wird für jede Spalte geprüft und eventuell etwas getan
Next r
End With
End Sub

Zum Beispiel Schreibe ich ja eine Formel in Spalte R, wenn Spalte D leer ist:
If r.Value "" Then
.Cells(r.Row, FormelSpalte).FormulaR1C1 = "=RC[-14]+R[-2]C[-13]-R[-1]C[-13]"
End If
Da kannst du jetzt Bedingungen und Formeln dazu schreiben.
das könnte so aussehen:
if .cells(r.row, 2).value = "AB/ Monatsendbestände" then
.Cells(r.row, 16).FormulaR1C1 = "=DeineFormel"
end if
das schreib dann eine Formel in SPalte P, wenn die Zeile "AB/Monatsendbestände" erreicht sind.
So bastelst du dir das zusammen, musst vielleicht etwas mit den Reihenfolgen spielen. Tipp: Die Formeln im R1C1 Format bekommst du am einfachsten, wenn du sie einmal direkt in Excel eingibst, den Makrorekorder anwirfst, die Zelle anwählst, F2, Enter, Rekorder aus. Jetzt kopierst du dir die R1C1-Version der Formel direkt aus dem aufgezeichneten Makro.
Grüße und viel Spaß beim basteln,
Klaus M.vdT.

Anzeige
AW: Formel wenn Bedingung erfüllt
14.08.2014 13:37:54
Orgensek
Klaus - vielen Dank..
ich bin dann mal basteln :-)
VG
Orgensek

AW: Formel wenn Bedingung erfüllt
14.08.2014 13:24:35
Christian
Hallo Denise,
Excel gut?
Deine Formel in F4: WENN(REST(ZEILE(E2:Q16);4)=0;E2:Q16;E4+F2-F3) ist Nonsens.
Die Werte in den Zeilen (mit Artikelnummern in Spalte B) bei Spalte E bis P werden händisch eingegeben?
Kopiere E4 bis P4, in Q4 und R4 gibts Du Deine benötigte Formeln ein,danach markierst Du E2 bis R5 und ziehst das Ganze soweit nach unten wie Du es brauchst.
MfG Christian

AW: Formel wenn Bedingung erfüllt
14.08.2014 13:36:38
Orgensek
Hallo Christian,
die Daten habe ich via Converter aus einem PPS System ins Excel importiert und nicht händisch eingetragen.
Zu deinem Vorschlag: das funktioniert ja eben nicht, weil Excell ja dann alle Zeilen überschreibt und nicht nur die, die in D4 einen Wert haben bzw. in jede vierte Zeile.
Oder stehe ich jetzt völlig auf dem Schlauch?!
VG und Danke für deine Hilfe
Orgensek
Anzeige

356 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige