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

Täglich Zelle kopieren und einfügen

Täglich Zelle kopieren und einfügen
31.03.2008 10:49:00
Alexander
Hallo zusammen!
Ich habe folgendes Problem (sicher kein schweres, aber für mich leider schon).
Ich würde gerne täglich eine Zelle kopieren (nur den Wert, nicht die Formatierung).
Die zu kopierende Zelle befindet sich in K19 im Tabellenblatt "Positionssheet", soll täglich um 12 Uhr kopiert werden in einen Tabellenblatt "PV" in die Spalte A2. Am nächsten Tag soll der Wert aus K19 wieder kopiert werden, diesmal halt nicht nach A2, sondern nach A3 (sprich immer in die nächste freie Zelle).
Perfekt wäre auch, wenn man neben dem kopierten Wert in Zelle A2 in Zelle B2 das aktuelle Datum hinschreiben könnte.
Vielen Dank im Voraus
Alexander Geisler

19
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Täglich Zelle kopieren und einfügen
31.03.2008 12:11:53
dirk
Hallo!
Willst Du fuer jeden Tag diese kopieraktion durchfuehren oder nur wenn dein Blatt geoeffnet ist?
Dirk

AW: Täglich Zelle kopieren und einfügen
31.03.2008 12:16:00
Alexander
Nur wenn das Blatt geöffnet ist.
Danke
Alex

AW: Täglich Zelle kopieren und einfügen
31.03.2008 12:18:00
dirk
Hallo!
Ist das Blatt staendig geoeffnet oder oeffnest Du es jeden Tag aufs Neue?
Dirk

AW: Täglich Zelle kopieren und einfügen
31.03.2008 12:22:00
Alexander
Es ist so, dass die Datei am Montag in der Früh geöffnet wird und dann bis Freitag offen bleibt, am Wochenende ist das Teil geschlossen, am Montag wird es wieder geöffnet.
Danke
Alex

AW: Täglich Zelle kopieren und einfügen
31.03.2008 13:47:00
dirk
Hallo!
Probiere mal folgende Macros aus;
Das hier in diesesArbeitsblatt
Public dTime As Date

Private Sub Workbook_Open()
Application.OnTime Date + TimeValue("12:00:00"), "copyK19"  'Bei Timevalue die Startzeit setzen
End Sub


'2. Ein Modul einfuegen und folgenden Code einfuegen"
Sub CopyK19()
dTime = Now()
transferValue = ActiveWorkbook.Sheets("Positionssheets").Range("K19").Value
i = ActiveWorkbook.Sheets("PV").Range("Z1").Value 'speicher fuer letzte Zielzeile
If i = 0 Then
i = 1
End If
targetcell = Cells(i, 3).Address
Application.OnTime dTime, "CopyK19"
ActiveWorkbook.Sheets("PV").Range(targetcell).Value = transferValue
ActiveWorkbook.Sheets("PV").Range("Z1").Value = i + 1 'incerement Zeilenzaehler
dTime = Date + 1 + timevalue ("12:00:00")
Application.OnTime dTime, "CopyK19" 'started macro nochmal fuer den naechsten Tag
End Sub


Lass mal hoeren, ob ok.
Dirk

Anzeige
AW: Täglich Zelle kopieren und einfügen
31.03.2008 14:06:00
dirk
Hallo nochmal,
ersetze mal das zweite Macro mit diesem hier, dann sollte es gehen.
Dirk

Sub CopyK19()
MsgBox "jetzt gehts los..."
dTime = ActiveWorkbook.Sheets("PV").Range("Z2").Value
If dTime = "" Then
dTime = Now()
End If
transferValue = ActiveWorkbook.Sheets("Positionssheets").Range("K19").Value
i = ActiveWorkbook.Sheets("PV").Range("Z1").Value     'speicher fuer letzte Zielzeile
If i = 0 Then
i = 1
End If
targetcell = Cells(i, 3).Address
Application.OnTime dTime, "CopyK19"
ActiveWorkbook.Sheets("PV").Range(targetcell).Value = transferValue
ActiveWorkbook.Sheets("PV").Range("Z1").Value = i + 1 'incerement Zeilenzaehler
ActiveWorkbook.Sheets("PV").Range("Z2").Value = Date + 1 + TimeValue("12:00:00")
dTime = ActiveWorkbook.Sheets("PV").Range("Z2").Value
MsgBox "Dtime is now " & dTime
Application.OnTime dTime, "CopyK19"
End Sub


Anzeige
AW: Täglich Zelle kopieren und einfügen
31.03.2008 14:17:06
Alexander
Danke für die schnelle Antwort, komme erst am Abend dazu es auszuprobieren.
Ich melde mich dann.
Danke
Alex

AW: Täglich Zelle kopieren und einfügen
31.03.2008 19:43:55
Alexander
Hi!
Danke für deine prompten Antworten. Hat mir schon sehr weitergeholfen.
Musst mir noch einmal kurz helfen:
1.)

Public dTime As Date
Private Sub Workbook_Open()
Application.OnTime Date + TimeValue("12:00:00"), "copyK19"  'Bei Timevalue die Startzeit setzen
End Sub


Wie definiere ich dieses Makro? Welchen Namen soll ich ihm geben? Wie speichere ich das ganze ab, damit es funktioniert? Ich nehme mal an, dass dieses Makro an einem Montag das aktuelle Datum erkennen und definieren soll, oder?
Das Makro CopyK19 habe ich erstellt und abgespeichert, funktioniert auch. Nur, wenn ich das Makro jetzt ausführe, dann schreibt er mir zweimal den gleichen Wert in die Zelle C1 als wie auch C2. Keine Ahnung, ob das deswegen ist, weil ich die ersten Zeilen Code noch nirgends abgespeichert habe.
Danke
Alex

Anzeige
AW: Täglich Zelle kopieren und einfügen
31.03.2008 20:36:00
dirk
Hallo!
Das erste Macro heisst workbook_open() und muss in thisworkbook kopiert werden. Dieses Macro wird beim oeffnen der Mappe gestarted und started das zweite macro "CopyK19" zur angegebenen Zeit am selben Tag.
CopyK19 started sich waehrend der ausfuehrung selbst fuer den naechsten Tag.
Ein Punkt ist noch nicht beruecksichtigt: Falls Die Mappe am selben Tag zwei mal gestarted wird wird auch die Zelle K19 nochmal kopiert.
Koennte man noch abfangen.
Gruss
Dirk

AW: Täglich Zelle kopieren und einfügen
01.04.2008 08:45:05
Alexander
Hi!
Vielen Dank, schaut einmal ganz gut aus. Ich warte mal bis 12:00 Uhr, dann sollte das ganze dann ja funktionieren.
Danke für deine Hilfe, sollte ich noch Fragen haben, dann melde ich mich einfach.
Danke
Alex

Anzeige
AW: Täglich Zelle kopieren und einfügen
01.04.2008 12:21:31
Alexander
Hi!
Es gibt ein Problem:
Es wird was ausgeführt, dass bei der Zeile

dTime = Now()


abbricht, insofern, dass es einen Cimpile Error gibt, folgender Text:


Compile Error:
Expected Function or variable


Was muss ich ändern?
Danke
Alex

AW: Täglich Zelle kopieren und einfügen
01.04.2008 19:35:00
dirk
Hallo!
Lass' mal die klammern weg
dtime = now
Sollte dann gehen.
Gruss
Dirk

AW: Täglich Zelle kopieren und einfügen
02.04.2008 12:36:37
Alexander
Servus!
Es kommt die gleiche Fehlermeldung wieder. Ich habe das Makro geändert, Excel-File geschlossen und neu eröffnet.
Funktioniert leider nicht.
Danke
Alex

Anzeige
AW: Täglich Zelle kopieren und einfügen
02.04.2008 14:40:00
dirk
Hallo Ales,
sorry habe zu hause leider kein Excel und konnte das deswegen nicht testen.
dTime =Now() sollte funktionieren, wenn Du die Variable dTime als Date definiert hast. Schau mal in der hilfe zu VBA nach Now(). Das ist in meinem Excel eine standardfunktion.
Im Macro CopyK19 loesche mal die erste vorkommende Zeile 'application.ontime dtime, "CopyK19"
Die ist da zuviel drin.
Gruss
Dirk

AW: Täglich Zelle kopieren und einfügen
02.04.2008 15:15:00
Alexander
Hallo!
Meine beiden Makros schauen jetzt so aus:

Public dTime As Date
Private Sub Workbook_Open()
Application.OnTime Date + TimeValue("15:00:00"), "CopyK19"  'Bei Timevalue die Startzeit setzen
End Sub


Passt die Definition von dTime hier? Weil wenn ich die innerhalb der Private Umgebung gebe, dann funktioniert das ganze nicht. Deshalb außerhalb (was meine seichten Programmierkenntnisse noch wissen, sollte damit dTime eine globale Variable sein).


Sub CopyK19()
MsgBox "jetzt gehts los..."
dTime = ActiveWorkbook.Sheets("PV").Range("Z2").Value
If dTime = "" Then
dTime = Now()
End If
transferValue = ActiveWorkbook.Sheets("Positionssheet").Range("K19").Value
i = ActiveWorkbook.Sheets("PV").Range("Z1").Value     'speicher fuer letzte Zielzeile
If i = 0 Then
i = 1
End If
targetcell = Cells(i, 3).Address
ActiveWorkbook.Sheets("PV").Range(targetcell).Value = transferValue
ActiveWorkbook.Sheets("PV").Range("Z1").Value = i + 1 'incerement Zeilenzaehler
ActiveWorkbook.Sheets("PV").Range("Z2").Value = Date + 1 + TimeValue("15:00:00")
dTime = ActiveWorkbook.Sheets("PV").Range("Z2").Value
MsgBox "Dtime is now " & dTime
Application.OnTime dTime, "CopyK19"
End Sub


Ich habe die Zeit auf 15:00 Uhr gestellt, hier hat es nun wieder Probleme und die gleiche Fehlermeldung gegeben.
Ich habe auch in der Hilfe geschaut, die Funktion Now() ist eine Standardfunktion, die auch funktioniert, wenn ich Sie in einer Zelle reinschreibe.
Keine Ahnung, warum das ganze nicht funktioniert.
Alex

Anzeige
AW: Täglich Zelle kopieren und einfügen
02.04.2008 15:31:22
dirk
Hallo Alex,
wenn Du das Macro CopyK19 im editor startest und schrittweise abarbeitest was passiert dann wenn du den Befehl dtime =Now() ausfuehrst?
Was steht dann da in der Variablen dTime als Wert?
Dirk

AW: Täglich Zelle kopieren und einfügen
02.04.2008 16:49:00
dirk
Hallo Alex,
ich haenge hier mal die Datei ran mit ein paar Aenderungen.
dTime = now() habe ich mal geaendert in dTime = Date
Das sollte fuer die Funktion ausreichen, da die Zeit per Zeitvalue gesetzt wird
Ich habe auch im Thisworkbook macro noch eine If-Abfrage eingebaut. Damit wird das Macro nur einmal am tag gestartet egal wie oft die Mappe geschlossen und geoeffnet wird.
Lass' mal hoeren ob es jetzt geht.
Warum Now() bei Dir nicht geht kann ich leider nicht sagen :-(
Gruesse
Dirk
https://www.herber.de/bbs/user/51216.xls

Anzeige
AW: Täglich Zelle kopieren und einfügen
02.04.2008 17:07:00
Alexander
Hallo!
Danke für deine Bemühungen, jetzt passiert schon mal was. Ich werd mal schauen, ob das morgen gegen Mittag funktioniert, aber schaut ganz gut aus.
Vielen Dank für deine Bemühungen bis jetzt, hoffentlich ist jetzt alles erledigt.
In PV - Z2 steht jetzt das Datum mit der Zeit drin (also 03/04/2008 12:00).
Wichtig ist jetzt mal, dass das ganze funktioniert.
Danke
Alex

AW: Täglich Zelle kopieren und einfügen
03.04.2008 17:06:22
Alexander
Hallo!
Hat heute ausgezeichnet funktioniert, sollte also passen.
Danke
Alex

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige