Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
840to844
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
840to844
840to844
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Tag berechnen und Zahl zuweisen

Tag berechnen und Zahl zuweisen
05.02.2007 17:50:40
Mathias
Hallo in die Runde,
ich habe ein Anfangs- und ein Enddatum, dass der User eingeben kann. Anhand dieser Eingabe soll Excel eine bestimmte Zahl ermitteln!
z.B.
Anfangsdatum 01.01.2006 EndDatum: 31.12.2006
Als Ergebnis soll 1000 heraus kommen.
Wie beeinflusse ich das ganze jetzt aber, dass die Eingabe varieren kann und dann entsprechend der jeweiligen Zeitspanne auch eine andere Zahl herauskommt?
Ich hoffe mich versteht einer!

25
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tag berechnen und Zahl zuweisen
05.02.2007 17:54:23
Peter
Hallo Mathias,
dazu musst du etwas mehr Informationen liefern.
Welche Zahlen zu welcher Datumsdifferenz?
Dann kann man dir sicherlich helfen.
Viele Grüße Peter
AW: Tag berechnen und Zahl zuweisen
05.02.2007 17:57:03
Hubert
Hi,
was soll denn rauskommen wenn z.B. 3.2.2006 und 7.8.2006 eingegeben werden?
mfg Hubert
AW: Tag berechnen und Zahl zuweisen
05.02.2007 18:03:42
HermannZ
Hallo Mathias;
meinst du das so?
Beispiel;
 
 AB
22801.01.20061000
22931.12.2006 
230  
23101.04.2006753
23231.12.2006 
Formeln der Tabelle
B228 : =GANZZAHL((1000/DATEDIF(DATUM(JAHR(A228);1;0);DATUM(JAHR(A229);12;31);"D"))*DATEDIF(A228-1;A229;"D"))
B231 : =GANZZAHL((1000/DATEDIF(DATUM(JAHR(A231);1;0);DATUM(JAHR(A232);12;31);"D"))*DATEDIF(A231-1;A232;"D"))
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Gruß HermannZ
Anzeige
AW: Tag berechnen und Zahl zuweisen
05.02.2007 18:13:55
Mathias
Hallo Hermann,
vielen Dank für deine Hilfe! Leider kann ich das nicht ganz verwerten, da die Kiste ja dann nur einen Wert im Bezug auf die 1000 ermittelt. Leider ist es so, dass hier jeder Tag im Jahr einen ganz bestimmten Wert hat. Und aus diesem Wert muss nun entsprechend die Zahl ermittelt werden, die der User als Zeitspanne eingegeben hat.
Gruß Mathias
AW: Tag berechnen und Zahl zuweisen
05.02.2007 18:48:48
Gert
Hallo Mathias,
wenn Du keine realistische Frage stellen kannst,
solltest Du eine Beispieldatei hochladen.
Sonst kann Dir nicht geholfen werden.
mfg
Gert
AW: Tag berechnen und Zahl zuweisen
05.02.2007 19:05:46
Mathias
Hallo,
also das mit dem hochladen hat soweit geklappt.Hier also die Datei.
https://www.herber.de/bbs/user/40152.xls
Ich möchte nun, dass in der Textbox3 der Userform1 das Ergebnis der Graddtage erscheint. Es soll entsprechend der Eingabe der Zeitspanne, die sich auch der Eingabe der Textbox 1 und Textbox 2 ergibt ermittelt werden.
Dazu ist es wichtig zu wissen, dass jeder Tag einen bestimmten (konstanten) Wert hat. Z.B. 01.01.2006 Wert = 5; 02.01.2006 Wert = 7 (also jeder Tag verschieden).
Wenn der User also nun als Zeitspanne z.B. 01.01.2006 bis 31.01.2006 eingibt soll entsprechend 120 herauskommen. Gibt er 01.01.2006 bis 01.01.2006 ein, soll als Wert 5 eingeben werden;usw.
Gruß Mathias
Anzeige
AW: Tag berechnen und Zahl zuweisen mit Datei
05.02.2007 19:06:20
Mathias
Hallo,
also das mit dem hochladen hat soweit geklappt.Hier also die Datei.
https://www.herber.de/bbs/user/40152.xls
Ich möchte nun, dass in der Textbox3 der Userform1 das Ergebnis der Graddtage erscheint. Es soll entsprechend der Eingabe der Zeitspanne, die sich auch der Eingabe der Textbox 1 und Textbox 2 ergibt ermittelt werden.
Dazu ist es wichtig zu wissen, dass jeder Tag einen bestimmten (konstanten) Wert hat. Z.B. 01.01.2006 Wert = 5; 02.01.2006 Wert = 7 (also jeder Tag verschieden).
Wenn der User also nun als Zeitspanne z.B. 01.01.2006 bis 31.01.2006 eingibt soll entsprechend 120 herauskommen. Gibt er 01.01.2006 bis 01.01.2006 ein, soll als Wert 5 eingeben werden;usw.
Gruß Mathias
Anzeige
AW: Tag berechnen und Zahl zuweisen
05.02.2007 18:08:19
Mathias
Also vielleicht ein wenig genauer:
Ich habe eine Userform:
Hier soll der User ein Anfangsdatum seiner Wahl und ein Enddatum seiner Wahl eingeben können.
Anschließend soll über ein Makro oder ggf. einen Bezug zu seiner Ergebniszelle eine dritte Textbox befüllt werden.
Wenn es weiter hilft: Ich möchte das deshalb erstellen, damit anhand dieser eingegeben Zeitspanne die Höhe der Gradtage ermittelt werden kann.
Hier ist es so, dass jeder Tag einen ganz bestimmten Wert hat und sich dann auch der "Summe" der Tage in der Zeispanne, die der User über die Textbox eingibt entsprechend ein Wert ergibt.
Ich persönlich dachte bereits mal einen S-Verweis, allerdings weiß ich nicht, wie der funzt. Ich wäre auch glücklicher, wenn man das übe rein Makroabhandeln könnte.
Leider kann ich auch keine Referenz hochladen, da das Laden hier im Büro unterbunden ist.
Anzeige
AW: Tag berechnen und Zahl zuweisen
05.02.2007 19:25:22
Mathias
Hallo,
vielleicht noch etwas, dass ihr bestimmt wisst.
Ist es möglich mittels S-Verweis alle Daten in einer Zeitspanne zu summieren?
Bsp.:
Folgende Werte stehen zur Verfügung:
01.01.2006 5
02.01.2006 10
03.01.2006 12
04.01.2006 11
05.01.2006 13
06.01.2006 25
07.01.2006 20
08.01.2006 10
09.01.2006 3
10.01.2006 4
11.01.2006 22
12.01.2006 21
13.01.2006 5
14.01.2006 6
15.01.2006 7
16.01.2006 10
17.01.2006 11
18.01.2006 13
19.01.2006 14
20.01.2006 15
21.01.2006 30
22.01.2006 11
23.01.2006 20
24.01.2006 30
25.01.2006 12
26.01.2006 12
27.01.2006 60
28.01.2006 30
29.01.2006 80
30.01.2006 20
31.01.2006 30
Ist es jetzt mittels S-Verweis möglich die Summer aus der Zeitspanne 25.01.2006 bis 31.01.2006 zu ermitteln?
Wenn ja, wie geht das?
Grüße
Mathias
Anzeige
AW: Tag berechnen und Zahl zuweisen
05.02.2007 19:45:46
jockel
hi Matthias, meinst du so:
Tabelle2 (2)
 ABCDEFG
101.01.20065,00   25.01.2006 244,00  244,00  
202.01.200610,00   31.01.2006   
303.01.200612,00       
404.01.200611,00       
505.01.200613,00       
606.01.200625,00       
707.01.200620,00       
808.01.200610,00       
909.01.20063,00       
1010.01.20064,00       
1111.01.200622,00       
1212.01.200621,00       
1313.01.20065,00       
1414.01.20066,00       
1515.01.20067,00       
1616.01.200610,00       
1717.01.200611,00       
1818.01.200613,00       
1919.01.200614,00       
2020.01.200615,00       
2121.01.200630,00       
2222.01.200611,00       
2323.01.200620,00       
2424.01.200630,00       
2525.01.200612,00       
2626.01.200612,00       
2727.01.200660,00       
2828.01.200630,00       
2929.01.200680,00       
3030.01.200620,00       
3131.01.200630,00       
Formeln der Tabelle
F1 : =SUMMENPRODUKT((A1:A100>=D1)*(A1:A100<=D2)*B1:B100)
G1 : {=SUMME(WENN((A1:A100>=D1)*(A1:A100<=D2);B1:B100))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
cu jörg
ein feedback wäre ganz reizend
Anzeige
AW: Tag berechnen und Zahl zuweisen
05.02.2007 19:55:55
Mathias
Die Idee ist super, nur funzt sie leider bei mir nicht.
Mach ich was flasch? Hab ich vielleicht ein Add. nicht an?
AW: Tag berechnen und Zahl zuweisen
05.02.2007 20:11:33
mathias
Das kommt bei mir raus:
01.01.2006 5,00   25.01.2006 #WERT! 0
02.01.2006 10,00   31.01.2006
03.01.2006 12,00  
04.01.2006 11,00  
05.01.2006 13,00  
06.01.2006 25,00  
07.01.2006 20,00  
08.01.2006 10,00  
09.01.2006 3,00  
10.01.2006 4,00  
11.01.2006 22,00  
12.01.2006 21,00  
13.01.2006 5,00  
14.01.2006 6,00  
15.01.2006 7,00  
16.01.2006 10,00  
17.01.2006 11,00  
18.01.2006 13,00  
19.01.2006 14,00  
20.01.2006 15,00  
21.01.2006 30,00  
22.01.2006 11,00  
23.01.2006 20,00  
24.01.2006 30,00  
25.01.2006 12,00  
26.01.2006 12,00  
27.01.2006 60,00  
28.01.2006 30,00  
29.01.2006 80,00  
30.01.2006 20,00  
31.01.2006 30,00  
Anzeige
AW: Tag berechnen und Zahl zuweisen
05.02.2007 20:24:44
jockel
hi Matthias, sind deine daten (mehrzahl von datum) vielleicht als text definiert/formatiert? ein add-in brauchst du hierfür meineserachtens nicht. es sind matrixformeln.
cu jörg
AW: Tag berechnen und Zahl zuweisen
05.02.2007 21:22:48
Mathias
funzt gut, ich hab wohl bei der Formatierung nen Fehler drin gehabt.
AW: Tag berechnen und Zahl zuweisen
05.02.2007 20:34:35
Peter
Hallo Mathias,
als Function in VBA so: Option Explicit Public Function DatAdd(DatumV As Date, DatumB As Date) As Double Dim aVar Dim iIndex As Integer aVar = Array(0, 5, 10, 12, 11, 13, 25, 20, 10, 3, 4, 22, 21, 5, 6, 7, _ 10, 11, 13, 14, 15, 30, 11, 20, 30, 12, 12, 60, 30, 80, 20, 30) For iIndex = Day(DatumV) To Day(DatumB) DatAdd = DatAdd + aVar(iIndex) Next iIndex End Function
In ein allgemeines Modul kopieren
Datum Von in A1, Datum Bis in A2 - dann =DatAdd(A1;A2)
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Anzeige
AW: mit Eingabeprüfung
05.02.2007 20:47:26
Peter
Hallo Mathias,
mit Prüfung der Eingabedatumswerte so:


Option Explicit
Public Function DatAdd(DatumV As Date, DatumB As Date) As Double
Dim aVar
Dim iIndex   As Integer
   aVar = Array(0, 5, 10, 12, 11, 13, 25, 20, 10, 3, 4, 22, 21, 5, 6, 7, _
               10, 11, 13, 14, 15, 30, 11, 20, 30, 12, 12, 60, 30, 80, 20, 30)
   If DatumV >= "01.01.2006" And DatumV <= "31.01.2006" And _
      DatumB >= "01.01.2006" And DatumB <= "31.01.2006" And _
      DatumB >= DatumV Then
      For iIndex = Day(DatumV) To Day(DatumB)
         DatAdd = DatAdd + aVar(iIndex)
      Next iIndex
    Else
      MsgBox "Die eingegebenen Datumswerte sind nicht in Ordnung !", _
         48, "   Hinweis für " & Application.UserName
   End If
End Function 


Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Anzeige
AW: mit Eingabeprüfung
05.02.2007 21:04:11
Mathias
Tschuldigung, dass ich so nerve!
Aber wie soll ich das Ereignis ausführen lassen? Und wie bekomme ich das Ergebnis abschließend wieder in meine Textbox?
Ist es richtig, dass ich für ein ganzes Jahr die Werte eines jedes einzelnen Tages in eine Tabelle eintragen muss und die Variable aVar entsprechend ergänzen muss?
Grüße
Mathias
AW: mit Eingabeprüfung
05.02.2007 21:14:15
Peter
Hallo Mathias,
dann musst du die Function aus dem UserForm (falls die TextBox in einem UF ist) aufrufen.
Wenn jeder Tag des Jahres einen anderen Wert hat, musst du ein entsprechend großes Array aVar aufbauen und nicht den Tag, sondern den lfd. Tag des Jahres als Rechengrundlage nehmen.
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
AW: mit Eingabeprüfung
05.02.2007 21:24:11
Mathias
Hallo Peter,
erstmal vielen Dank. Werde es morgen ausprpbieren und dir dann Bescheid geben.
War nett, dass Du und die anderen mir so doll geholfen habt.
Grüße
Mathias
AW: mit Eingabeprüfung
05.02.2007 22:08:54
Peter
Hallo Mathias,
sieh dir die beigefügte Mappe an. Hier wird die TextBox3 mit dem Ergebnis gefüllt, nachdem in TextBox1 und 2 die Datumswerte eingegeben wurden und 'rechnen' angeklickt wurde.
Die Werte für die einzelnen Datumswerte kommen aus der Tabelle2 (irgendwo musst du die ja auch hinterlegt haben), werden in ein Array eingelesen und per lfd. Tag gemäß Datum ermittelt.
https://www.herber.de/bbs/user/40156.xls
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
AW: mit Eingabeprüfung
06.02.2007 12:12:06
Peter
Hallo Mathias,
hier noch eine neue Version. Du kannst in Tabelle2 all Deine Datums mit ihren Werten eingeben - auch für mehrere Jahre.
In dem UserForm kannst du auch nur die TextBox1 mit einem Datum füllen und dann 'rechnen' anklicken. Dann wird der Wert für den einen Tag angezeigt.
https://www.herber.de/bbs/user/40176.xls
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
AW: mit Eingabeprüfung
06.02.2007 20:39:35
Mathias
Hallo Peter,
der Code funzt wie verrückt! Sag mal, wo hast du das Ganze gelernt?
Machst du das irgendwie beruflich? Oder ist es ein Hobby von dir?
MIch würde mal interessieren, ob und wenn ja, welche Hilfen du verwendest und ob du dafür mal einen Seminar mitgemacht hast.
Grüße
Mathias
AW: mit Eingabeprüfung
06.02.2007 20:46:42
Mathias
Hallo Peter,
noch eine Frage:
Wie stell ich den Code um, damit er auch über mehrere Jahre rechnet?
Ist es möglich einfach die Tabelle entsprechend zu erweitern und die Array zu erweitern?
Grüße
Mathias
AW: mit Eingabeprüfung
06.02.2007 21:00:48
Peter
Hallo Mathias,
ich bin Rentner, habe 35 Jahre in der EDV als Programmierer gearbeitet, in verschiedenen Programmiersprachen, und bin nun beim VBA hängen geblieben.
Ich habe mir VBA durch intensive Verfolgung der Beiträge im Herber Forum angeeignet.
Nun zu deiner zweiten Frage:
Du musst nur deine Datumswerte mit den dazugehörigen Ziffern in das Tabellenblatt2 eintragen, dann sollte die Summierung ganz von allein funktionieren.
Jetzt meine Frage: was sind das für seltsame Werte, die den Datums zugeordnet wurden?
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
AW: mit Eingabeprüfung
06.02.2007 21:38:29
Mathias
Hallo Peter,
ich zoll dir meinen aller größten Respekt! Sicherlich spielt deine Erfahrung in Sachen EDV-Prpgrammierung eine gewaltige Rolle, aber das was du da auf die Beine gestellt hast ist wirklich gut. Vorallem auch für mich als Anfänger übersichtlich zu lesen!
Ich hab die Tabelle mal erweitert und es funzt wirklich. Werde sie morgen dann entsprechend modifizieren und weiter verwenden.
Die Zahlen aus der Tabelle waren rein fiktiv, da ich gestern die tatsächlichen Gradtagszahlen nicht zur Hand hatte.
Kannst du mit dem Begriff etwas anfangen?
Sag mal, machst du an deinem Lebensabend noch etwas in Richtung Selbstständigkeit?
Also wenn du vielleicht mal Kurse in Sachen VBA gibst, dann sag mir mal bescheid. mathias.slansky@web.de ist die Adresse! Ich hätte Interesse daran.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige