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

Spalte kopieren/löschen wöchentlich!

Spalte kopieren/löschen wöchentlich!
04.08.2016 10:14:42
Stefan
Hallo Forum,
Ich arbeite aktuell an einem Projekt auf der Arbeit, wo ich einen Kalender erstellen soll. Er sollte so aufgebaut sein:
[url]https://postimg.org/image/9zmyonqp3/[/url]
Man soll in die Zeilen unter den Spalten C und D die Anzahl der zugeteilten Mitarbeiter eintragen. Die Datumsanzeigen sind erstmal probeweise eingetragen. Ich habe in A1 das aktuelle Datum mit einem Befehl und rechts daneben die dazugehörige Kalenderwoche berechnen lassen. Das Datum vom 8.8 und 15.8 sind Montage, was ausreicht für weiteres mit der zugehörigen KW-Berechnung.
Die Aufgabe soll nun sein, dass die Spalte mit der aktuellen Woche direkt in Spalte C stehen soll und die abgelaufene Woche soll in eine andere Tabelle eingefügt werden und anschließend aus Tabelle 1 entfernt werden, sodass in C nun die aktuelle Woche wieder steht. Die abgelaufenen Wochen sollen wie hier chronologisch hintereinander laufend eingefügt werden.
Dieser Kalender ist in einer Excel zur Berechnung der Auslastung. Diese muss jeden Montag geöffnet werden und mit Makros werden Berechnungen durchgeführt. Wäre es da nicht sinnvoll, dass ein Makro diese ganzen Befehle regelt, wenn die Excel aufgerufen wird bevor man berechnet? ist das möglich? Bzw. wie sähe die Codierung aus?
mfG Stefan

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalte kopieren/löschen wöchentlich!
05.08.2016 01:38:28
Lukkeeee
Hallo Stefan,
ich wuerde generell sagen, dass in Excel so ziemlich alles moeglich ist. Also keine Sorgen.
Du koenntest das ganze fuer den Anfang ein wenig vereinfachen. Wenn du die Wochen einfach selber ein wenig im voraus in die Liste schreibst. Dann kannst du dich erst mal auf die eigentliche Problemstellung konzentrieren.
Du musst "einfach" nur das aktuelle Datum abfragen. Anschliessend loest du mit einem If-Clause die Uebertragung in die andere Tabelle aus. Ermittelst die erste leere Spalte in der anderen Datei, wo du die Werte dann reinkopierst. Danach wuerde ich einfach die Spalte loeschen.
(Aber nur wenn du den Kalender selbst ein paar Wochen im Voraus erstellt hast.)
Generell kommt es ganz darauf an, wie du das ganze angehen willst. Du kannst die Ueberpruefung ganz einfach beim oeffnen ausloesen oder wenn es dir lieber ist auch per Klick auf einen Button. Die Herangehensweise ist aber bei beidem das selbe.

Public clm as Integer
Sub Datum_Uebertragen ()
Dim heute as Date
dim rng as Range
dim pth as String
dim cnt as Integer
dim spalte as integer
heute = Date
pth = "Dein Pfad wo du die Datei abgelegt hast"
cnt = 1
Set rng = Cells(cnt, 3)
If heute >= rng then
application.screenupdating = false
Workbooks.Open Filename:= pth
Call ErsteLeereSpalte
spalte =  clm
Columns(cnt).Copy Destination:=pth+(spalte)
Columns(cnt).Delete
pth.Save
Workbooks.Close Filename:= pth
Application.ScreenUpdating = True
Else: Exit Sub
End if
End Sub

Ich muss zugeben, ich habe den Code einfach mal aus dem Kopf heraus geschrieben, von dem her wird es vermutlich den ein oder anderen Compiler-Error geben wenn du es ausprobierst.
Du musst natuerlich noch den ganzen Pfad mit Dateinamen (auch die Datei Endung) mit angeben, andernfalls funktioniert es nicht.
Und du musst noch das Makro schreiben fuer die Erste leere Spalte mit dem Public Integer wo du den Wert uebtraegst, damit du ihn in deinem Haupt-Sub weiter verwenden kannst.
Es waere vermutlich besser wenn du den String "pth" in einer als Workbook deklarierten Variable verwendest. Aber ich habe im Moment nicht genuegend Zeit.
Ich hoffe ich konnte dir weiter helfen.
Gruss Lukkeeee
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige