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

Ist das mit einer Formel zu lösen?

Ist das mit einer Formel zu lösen?
edie
Hallo zusammen,
obwohl ich schon mal gestern die Frage gestellt habe und das Problem auch als VBA gelöst bekommen habe, versuche ich es noch einmal.
in Spalte A sind fortlaufend die Kalenderwochen, in Spalte B ein Gesamtwert pro Kalenderwoche und entsprechend in der Spalte C eine Zahl durch die der Gesamtwert aufgeteilt werden soll Spalte D, und zwar in Tagen. Siehe eine Beispieldatei: https://www.herber.de/bbs/user/63093.xls.
Mit dem nachfolgenden Code, danke an robert, wird der Gesamtwert auch aufgeteilt immer nur für eine Spalte, habe aber mehrere Spalten, deshalb meine Frage: Geht es auch mit einer Formel? Dabei wäre ich flexibel und auch schneller.
Sub Makro()
Dim Bereich As Range
Dim zl%, i%, x%, ges%, z%
Columns(16).ClearContents
For i = 1 To Cells(Rows.Count, 16).End(xlUp).Row
If Cells(i, 18)  "" Then
z = i
zl = Cells(i, 18)
ges = Cells(i, 17)
For x = 1 To zl
Cells(z, 19) = ges / zl
z = z + 1
Next x
End If
Next i
End Sub
Hoffe auf Hilfe und danke im Voraus.
Grüße
AW: Ist das mit einer Formel zu lösen?
11.07.2009 14:02:01
Nico
Eigentlich sollte es auch als Formel umzusetzten gehen.
Das Beispiel trifft zwar nicht auf Deinen Code zu, aber Du kannst hier sehen wie man eine eigene Formel in Excel erstellt und anwendet.
Vieleicht hilft es Dir ja weiter. Erstelle einfach eine "Function" und kein "Sub" mit deinen SourceCode
Deine "Function" könnte so aussehen (ohne das ich mir Deine Excel-Datei angeschaut habe):
Function Makro(bereich as Range) as Double
Dim i as Range
Dim zl%, i%, x%, ges%, z%
'Columns(16).ClearContents
For Each i in bereich.Cells
If Cells(i, 18)  "" Then
z = i
zl = Cells(i, 18)
ges = Cells(i, 17)
For x = 1 To zl
Makro = ges / zl
z = z + 1
Next x
End If
Next i
End Function

)
In die die Zelle, in der die Rechnung gebildet werden soll, schreibt man:
"=Makro(C5:C100)"
Das ist eine Formel welche funkionier (Ist als Beispiel gedacht zur Anregung)
'Berechnet nur die Summe eines Range in dem die Textfarbe intColor entspricht
Function SumColor(bereich As Range, intColor As Integer) As Double
Dim i As Range
Dim summe As Long
For Each i In bereich.Cells
If IsNumeric(i) Then
If i.Font.ColorIndex = intColor Then SumColor = SumColor + i.Value
End If
Next i
End 

Function
In die die Zelle, in der die Farbsumme gebildet werden soll, schreibt man:
"=SumColor(C5:C100;5)"
wobei die 5 für Blau steht, 4=grün, 1=schwarz
Ich hoffe ich konnte Dir etwas helfen.

Anzeige
AW: Ist das mit einer Formel zu lösen?
11.07.2009 14:12:26
Adelhorst
Hallo edie.
Ich hoffe, ich habe die Aufgabe richtig verstanden. Schau mal rein hier.
https://www.herber.de/bbs/user/63107.xls
Gruss Adelhorst
AW: Ist das mit einer Formel zu lösen?
11.07.2009 15:12:29
edie
Hallo Nico Dorn,
Hallo Adelhorst,
zunächst einmal vielen Dank für die Hilfe.
Bei der Formel: =WENN($A3$A2;WENN(UND(B3"";C3"");B3/C3;"");D2) sollte aufgeteilt werden nicht nur pro Woche d.h. 7 Tage, sondern nach der Zahl die in Spalte B steht. z. B. wenn eine 9 steht, dann auch in 9 Zellen nach unten teilen, d.h. auch in die nächst Kalenderwoche hinein
Vielen Dank im Voraus und Grüße
Anzeige
nein...
11.07.2009 16:08:51
robert
hi,
der betrag aus B soll durch C dividiert werden und nach unten eingetragen werden..
zB. 74 / 4 = 18,5
4 mal eintragen
kann mir nicht vorstellen, dass das nur mit formeln geht ...
gvruß
robert
..was bedeutet mehrere spalten ?
11.07.2009 16:39:41
robert
AW: ..was bedeutet mehrere spalten ?
11.07.2009 16:53:15
edie
Hallo robert,
das gleiche Makro bzw. die Berechnungen sollte in der Spalte S, W, AA, AE usw. 30 Spalte nacheinander durchlaufen, deshalb die Idee, mit den Formeln.
Vielen Dank im Voraus und Grüße
..nachfrage..
11.07.2009 16:55:58
robert
hi,
was ist eigentlich der sinn deiner tabelle, bzw
was wird hier berrechnet ?
gruß
robert
AW: ..nachfrage..
11.07.2009 17:14:11
edie
Hallo robert,
der sinn der Tabelle ist wie Folgt: Je Kalenderwoche gibt es einen Betrag (Spalte B) der abgearbeitet werden muss in Tagen die in der Spalte C stehen. Es kann passieren, dass es länger wie eine Woche dauert bis der Betrag abgearbeitet ist. Deshalb soll es in Tagen aufgeteilt werden (Spalte D), somit weiß man wie viel pro Tag abzuarbeiten wäre.
PS: Die Spalten sind aus der Beispieldatei.
Vielen Dank für die Mühe
Grüße
Anzeige
AW: ..nachfrage..
11.07.2009 17:31:09
robert
hi,
aber diesen satz versteh ich nicht....
in der Spalte S, W, AA, AE usw. 30 Spalte nacheinander durchlaufen,
wozu die vielen spalten ?
kannst du nicht eine datei schicken,die wie dein original aufgebaut ist ?
sonst ewiges rätselraten...
gruß
robert
Der sinn der Tabelle
11.07.2009 20:51:17
edie
Hi robert,
eine originale Datei besteht noch nicht, meine bescheidene Erfahrungen haben gezeigt, zuerst die Möglichkeiten austesten d.h. Formelsuche bzw. Codes Anpassung bevor man mit der Dateiplanung beginnt. Ich wiederhole die Idee:
Je Kalenderwoche gibt es einen Betrag (Spalte B) der abgearbeitet werden muss in Tagen die in der Spalte C stehen. Es kann passieren, dass es länger wie eine Woche dauert bis der Betrag abgearbeitet ist. Deshalb soll es in Tagen aufgeteilt werden (Spalte D), somit weiß man wie viel pro Tag abzuarbeiten wäre.
Und das gleiche wiederholt mehrfach in der Tabelle, deshalb die Spalten S, W, AA u.s.w.
Aber im Prinzip ist die Beispieldatei schon dass was ich mir vorstelle. Leider komme ich nicht weiter mit den Formeln bzw. Code.
Vielen Dank und Grüße
Anzeige
neue datei mit formeln..
12.07.2009 15:10:46
robert
hi,
hier datei mit formeln...
1) du kannst die spalten A bis E kopieren und irgendwo einfügen
2) durch doppelklick in der spalte -geteilt durch- wird aktualisiert
also zB. C4, C11, C17 usw doppelklicken
https://www.herber.de/bbs/user/63117.xls
probier es aus..
gruß
robert
AW: neue datei mit formeln..
12.07.2009 17:01:49
edie
Hallo robert,
zunächst vielen herzlichen Dank für die Hilfe und Ausdauer.
Genau so war bzw. ist die Ursprungs-Idee nur realisieren konnte ich es nicht. Jetzt kann
ich getrost die Datei erstellen. Dir noch einmal Danke.
Grüße
Anzeige
ok und gutes gelingen... :o) owT
12.07.2009 17:04:26
robert
AW: ..was bedeutet mehrere spalten ?
11.07.2009 16:59:10
edie
Hallo robert,
als Beispiel habe ich mir das Makro so vorgestellt, man könnte es ja optimieren, aber wie?
Sub Makro()
Dim Bereich As Range
Dim zl%, i%, x%, ges%, z%
Dim zl2%, x2%, ges2%, z2%
Columns(4).ClearContents
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(i, 3)  "" Then
z = i
zl = Cells(i, 3)
ges = Cells(i, 2)
For x = 1 To zl
Cells(z, 4) = ges / zl
z = z + 1
Next x
End If
Columns(8).ClearContents
If Cells(i, 7)  "" Then
z2 = i
zl2 = Cells(i, 7)
ges2 = Cells(i, 6)
For x2 = 1 To zl2
Cells(z2, 8) = ges2 / zl2
z2 = z2 + 1
Next x2
End If
Next i
End Sub
Vorab vielen Dank.
Grüße
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige