Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Tage nach Datum

Begonnen von Diskus, April 01, 2011, 15:58:39

⏪ vorheriges - nächstes ⏩

Diskus

Hallo nochmal,

ich habe ja von Database ein Beispiel bekommen wie das Datum erstellt wird. Dort wird ab Zelle C4 das Datum generiert und die Tabellenblätter Jan bis Dez angelegt. Nun möchte ich vor dem Datum also in Zelle B den Wochentag anzeigen lassen. Im Tabellenblatt gehts ja mit =Text(c8;"ttt") aber wie mache ich das, das dieses direkt automatisch mit generiert wird. Bei einer Makroaufzeichnung geht entweder das eine Blatt oder wenn ich alle anwähle dann sind überall 31 Einträge. Was ja beim Februar und den anderen Monaten mit 30 Tagen nicht hinkommt.)

Der Code ist im vorherigen Fred von mir.Hier

lg Diskus

database

#1
Hallo,

sieh mal im Anhang ...

Die Darstellung aus DEINEM Beispiel ist zwar auch möglich aber mit einem erheblichen Formatierungs- und damit auch Programmieraufwand verbunden.
In deinem Beispiel handelt es sich bei der Darstellung nicht um ein Format des Datums sondern Wochentag und Datum stehen in unterschiedlichen Zellen.

Was mir allerdings nicht ganz klar ist - wo willst du welche Zellen verknüpfen, welche Zellbezüge willst du realisieren - davon ist in deinem Beispiel leider auch nichts zu sehen.

Insgsamt darf ich aber dennoch darauf hinweisen, dass Excel KEINE Datenbank ist!
Excel ist und bleibt eine Tabellenkalkulation und wird, egal wie man es drehen mag, niemals die Funktionalität einer relationalen Datenbank ersetzen.
Ich stelle mir da nur mal ein durchaus realistisches Horrorszenario vor:

Kurz vor Jahresende kommt jemand auf die glorreiche Idee und löscht irgendeine Spalte aus irgendeinem Tabellenblatt.
Das war's dann mit der Spesenabrechnung für dieses Jahr!


[Anhang gelöscht durch Administrator]

Diskus

#2
Öhm Danke Database,
allerdings hat sich da irgendwo der Fehlerteufel eingeschlichen. Es wird zwar das Datum richtig generiert nur der Wochentag ist einen im Voraus.  Also beim 1.1.2011 wird Sonntag angezeigt es war aber ein Samstag. Ich hab schon versucht das hinzubekommen aber det is nix geworden. Könntest du nochmal drüberschauen ?


Welche Verknüpfungen ich haben möchte. Also bei der Beispieldatei sind nur 2 Tabellenblätter. Im einzelnen läuft das so ab. Das was auf Tabelle 1 zu sehen ist, wird monatlich erstellt und ist eine einzelne Mappe. Dort werden wie gezeigt die Daten der einzelnen Mitarbeiter Täglich eingetragen.

Dann wird diese Mappe geschlossen und eine neue Mappe pro Mitarbeiter geöffnet (Blat 2 im Beispiel) und dort werden im Prinzip die gleichen Daten nochmals eingetragen.
Dieses Blat wird dann als Spesenabrechnung ausgedruckt.

Ich wollte dieses Blatt automatisch füllen lassen, da die Daten ja schon in Mappe 1 vorhanden sind.

Also doppelter Arbeitsaufwand den ich abstellen wollte.
lg Diskus

database

#3
Hallo,
das liegt an der Einstellung   FirstDayOfWeek,  vermutlich ist die so eingestellt, dass die Woche - wie bei den Amis - nicht am Montag sondern am Sonntag beginnt.

Schau mal in die Systemsteuerung (Region und Sprache) dort kann man das umstellen (bei den Datumseinstellungen)

Dementsprechend ist dann auch der Wochentag möglicherweise im Code zu ändern ...
... oder wechsle diese Zeilen in deinem Code aus:

Range("B" & y) = WeekdayName(Weekday(ActiveCell, vbUseSystemDayOfWeek))
Range("C" & y).Select
If Weekday(ActiveCell, vbUseSystemDayOfWeek) = 6 Or Weekday(ActiveCell, vbUseSystemDayOfWeek) = 7 Then


ZitatAlso doppelter Arbeitsaufwand den ich abstellen wollte
Und warum schreibst du dann 2x und nicht gleich in die Mitarbeitermappen ... ?

Diskus

Also das Sprachchema ist Deutsch trotzdem fängt die Wochentagsgenerierung erst beim Sonntag an.

Dann warum ich das nicht direkt bei den Mitarbeitern eintrage ist ganz einfach. Cheffe möchte das so das er eine komplette Übersicht über das ganze Jahr hat und dann ebend monatlich die Abrechung übers Spesenblatt. Man kann Ihn auch nicht überzeugen, das es in Access wesentlich komfortabler ist. Als Begründung : "Wenn ich mal nicht mehr da sein sollte wüsste keiner wie er damit umgehn soll"
Ist zwar Quark aber wie Cheffe ebend so ist :)

Das einzigste was eventuell helfen würde, wenn ich Ihm erkläre das das mit den Verknüpfungen nur Ärger gibt. Aber das bedeutet erst mal lange Reden und vor allem etwas zeigen :)

Gruß Diskus


database

#5
Hallo,

das hat nichts mit dem Sprachschama zu tun!

Bei Windows 7 kannst du das in der Systemsteuerung unter Region und Sprache, Formate, Weitere Eistellungen, Datum --- umstellen.
Wenn du das umgestellt hast, kommt meine Codeänderung im vorangegangenen Posting zum Tragen.

Bei XP gehts über die Systemsteuerung nicht, da gibst du das folgendermaßen an:


Range("B" & y) = WeekdayName(Weekday(ActiveCell, vbMonday))
Range("C" & y).Select
If Weekday(ActiveCell, vbMonday) = 6 Or Weekday(ActiveCell, vbMonday) = 7 Then


HTH

Wegen der Verknüpfungen: 
Das ist auch zum Programmieren ziemlich aufwändig, ich schau mir das mal an ...