Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Automat. kopieren von Zellen zu bestimmter Uhrzeit

Automat. kopieren von Zellen zu bestimmter Uhrzeit
03.05.2005 12:58:53
Zellen
Hallo, ich möchte, das Excel bei einem offenen Sheet immer Punkt 14:00
aus bestimmten wenigen Zellen Werte kopiert (automatisch!) und in andere Zellen
als Zahlen (in den Ursprungsfeldern stehen Formeln) einfügt.
1) geht das?
2) wie?
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Automat. kopieren von Zellen zu bestimmter Uhrzeit
03.05.2005 13:10:45
Zellen
Hallo CiviSese,
das geht:

Sub zeitkopieren()
Do While Time <> "14.00.00"
If Time = "14.00.00" Then
Range("A1:A4").Copy
Range("B1:B4").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Exit Sub
End If
Loop
End Sub

ABER: das Makro läuft immer, blockiert jegliches Arbeiten mit Excel, und beansprucht sicherlich den Rechner auch ein wenig.
Vielleicht gibt´s da ne bessere Lösung.
Gruß
marcl
Anzeige
AW: Automat. kopieren von Zellen zu bestimmter Uhrzeit
03.05.2005 14:17:04
Zellen
Vielen Dank für die beiden Antworten! Bei der zweiten bin ich mir bei der Umsetzung unsicher, die erste funktioniert bei mir irgendwie nicht. Ich habe mal ein sheet angehängt, wobei aus dem "pfirsich-"farbenen Bereich in den grünen kopiert werden soll. Was mache ich falsch?
https://www.herber.de/bbs/user/22104.xls
Anzeige
AW: Automat. kopieren von Zellen zu bestimmter Uhrzeit
03.05.2005 15:28:35
Zellen
Super, danke!
Muß ich immer das Spreadsheet schließen und wieder öffnen, wenn ich die aktualisierungszeit ändere? Ansonsten scheint das Makro ja nicht zu laufen.
Kann ich damit auch auf andere Excel Files zugreifen, wenn ich den korrekten
Pfad angebe? Was passiert, wenn diese Files bereits geöffnet und somit nur schreibgeschützt verfügbar sind?
Anzeige
Beendet >>Neuer Beitrag weiter oben
04.05.2005 13:29:31
jemand
OT
AW: Automat. kopieren von Zellen zu bestimmter Uhrzeit
03.05.2005 13:21:09
Zellen
Hallo
zu1 ja,
zu2 so:
in DieseArbeitsmappe kommt:

Private Sub Workbook_Open()
'Immer 14:00
Application.OnTime TimeValue("14:00:00"), "Autocopy"
End Sub


Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
'zurücksetzen
Application.OnTime EarliestTime:=TimeValue("14:00:00"), _
Procedure:="Autocopy", Schedule:=False
End Sub

in ein Modul kommt:
Sub autocopy()
Dim SH1, SH2, LR%
Set SH1 = Sheets("Tabelle1")
Set SH2 = Sheets("Tabelle2")
'nächste Freie Zeile finden
LR = SH2.Cells(Rows.Count, 1).End(xlUp).Row + 1 'letzte Zeile der Spalte A
SH2.Cells(LR, 1).Value = SH1.Range("A1")
SH2.Cells(LR, 2).Value = SH1.Range("C1")
End Sub
Im Beispiel wird Zelle A1 und C1 kopiert..
Hier eine Mustermappe
https://www.herber.de/bbs/user/22100.xls
Gruß UweD
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Automatisches Kopieren von Zellen zu einer bestimmten Uhrzeit in Excel


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und gehe zu dem Arbeitsblatt, in dem Du die automatisierte Kopierfunktion einrichten möchtest.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Füge den folgenden Code in DieseArbeitsmappe ein:

    Private Sub Workbook_Open()
       'Immer 14:00
       Application.OnTime TimeValue("14:00:00"), "Autocopy"
    End Sub
  4. Füge den folgenden Code in ein Modul ein:

    Sub autocopy()
       Dim SH1 As Worksheet, SH2 As Worksheet
       Dim LR As Long
       Set SH1 = Sheets("Tabelle1") ' Ursprüngliche Tabelle
       Set SH2 = Sheets("Tabelle2") ' Ziel-Tabelle
       'nächste freie Zeile finden
       LR = SH2.Cells(Rows.Count, 1).End(xlUp).Row + 1 'letzte Zeile der Spalte A
       SH2.Cells(LR, 1).Value = SH1.Range("A1").Value
       SH2.Cells(LR, 2).Value = SH1.Range("C1").Value
    End Sub
  5. Schließe den VBA-Editor und speichere Deine Datei als Makro-fähige Arbeitsmappe (.xlsm).

  6. Öffne die Datei erneut. Das Makro wird nun jeden Tag um 14:00 Uhr ausgeführt und kopiert die Werte aus den angegebenen Zellen.


Häufige Fehler und Lösungen

  • Das Makro läuft nicht automatisch.
    Stelle sicher, dass der Code in DieseArbeitsmappe korrekt eingefügt wurde und dass Du die Datei als .xlsm speicherst.

  • Excel blockiert die Arbeit.
    Verwende die Application.OnTime Methode, um das Makro zu einem bestimmten Zeitpunkt auszuführen, anstatt eine Endlosschleife zu verwenden.

  • Zellen werden nicht korrekt kopiert.
    Überprüfe die Zellreferenzen im autocopy-Sub und stelle sicher, dass die Blätter existieren und korrekt benannt sind.


Alternative Methoden

Eine alternative Methode wäre die Verwendung von Excel-Formeln, um dynamisch auf die Werte zuzugreifen, anstatt sie zu kopieren. Du könntest z. B. die =WENN()-Funktion verwenden, um Werte basierend auf einer Bedingung anzuzeigen.


Praktische Beispiele

In einem Beispiel wird der Wert aus Zelle A1 und C1 von "Tabelle1" in die nächste freie Zeile von "Tabelle2" kopiert. Du kannst den VBA-Code anpassen, um weitere Zellen oder andere Arbeitsblätter einzubeziehen.

SH2.Cells(LR, 3).Value = SH1.Range("D1").Value ' Beispiel für eine zusätzliche Zelle

Tipps für Profis

  • Verwende Fehlerbehandlung: Füge On Error Resume Next hinzu, um sicherzustellen, dass das Makro nicht bei einem Fehler stoppt.
  • Teste das Makro: Führe das Makro manuell aus, um sicherzustellen, dass es wie gewünscht funktioniert, bevor Du auf die automatische Ausführung wartest.
  • Nutze Kommentare im Code: Dokumentiere Deinen Code, um die Nachvollziehbarkeit zu erhöhen.

FAQ: Häufige Fragen

1. Muss ich die Arbeitsmappe schließen und wieder öffnen, wenn ich die Aktualisierungszeit ändere?
Ja, das Makro wird nur beim Öffnen der Arbeitsmappe aktiviert.

2. Kann ich damit auch auf andere Excel-Dateien zugreifen?
Ja, Du kannst den korrekten Pfad zur anderen Datei angeben. Beachte jedoch, dass die Datei schreibgeschützt sein könnte, wenn sie bereits geöffnet ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige