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

Werte tägl. Übertragen und Speichern

Forumthread: Werte tägl. Übertragen und Speichern

Werte tägl. Übertragen und Speichern
14.08.2017 11:35:16
Hans-Jörg
Hallo Zusammen,
mein Problem besteht darin,ich habe ein Datenblatt mit drei Werten:
A3 = Wert1
A5 = Wert2
A7 = Wert3
die Werte verändern sich jeden Tag.
In Zelle A1 wird das Datum des aktuellen Tages angezeigt.
Außerdem sind noch 12 Tabellenblätter (jeweils ein Monat), mit dem jeweiligen Datum des Tages in der Arbeitsmappe vorhanden. Das Datum des jeweiligen Tage wird in den Spalten:
B1 ist der 1. des Monats bis W/X1 ist der 30./31. des Monats,
angezeigt.
Nun sollen die Tages-Werte aus dem Datenblatt in das jeweilige Monatsblatt unter dem aktuelle Tag übertragen und gespeichert werden.
Wert1 aus Datenblatt in Monatsblatt in Zeile B4-W/X4
Wert2 aus Datenblatt in Monatsblatt in Zeile B6-W/X4
Wert3 aus Datenblatt in Monatsblatt in Zeile B8-W/X4
Über Excel könnte ich eventuell über SVERWEIS die Daten anzeigen lassen, auch die Formel die mir Matthias hier im Forum vorgeschlagen hat funktioniert, aber nur für den aktuellen Tag, am nächsten Tag ist der Wert vom Vortag weg.
Es wäre schön wenn jemand eine Lösung in VBA hätte, wenn es überhaupt funktioniert.
Danke im Voraus Gruß Jörg
hier ein Beispiel meiner Datei, für Monat August:
https://www.herber.de/bbs/user/115443.xlsx
Lösung von Matthias:
https://www.herber.de/bbs/user/115336.xlsx
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte tägl. Übertragen und Speichern
14.08.2017 13:59:46
Armin
Hallo Jörg,
wie kommen den die Werte A3,A5,A7 in das Sheet?
Gruß Armin
AW: Werte tägl. Übertragen und Speichern
14.08.2017 15:26:25
Hans-Jörg
Hallo Armin,
die Werte kommen über Daten die tägl. eingefügt werden und über eine Pivot aufgearbeitet und dann über einen SVERWEIS angezeigt werden.
Gruß Jörg
AW: Werte tägl. Übertragen und Speichern
14.08.2017 14:00:08
ChrisL
hi Jörg
Sub t()
Dim WS1 As Worksheet, WS2 As Worksheet, lngSpalte As Long
Set WS1 = Worksheets("Aktueller Stand")
Set WS2 = Worksheets(Format(WS1.Range("A2"), "MMM"))
lngSpalte = Application.Match(CLng(WS1.Range("A2")), WS2.Rows(1), 0)
WS2.Cells(4, lngSpalte) = WS1.Range("B3")
WS2.Cells(7, lngSpalte) = WS1.Range("B6")
WS2.Cells(10, lngSpalte) = WS1.Range("B8")
End Sub

cu
Chris
Anzeige
AW: Werte tägl. Übertragen und Speichern
14.08.2017 15:28:17
Hans-Jörg
Hallo Chris,
Danke für das Script, probiere ich morgen direkt aus und melde mich dann.
Gruß Jörg
AW: Werte tägl. Übertragen und Speichern
14.08.2017 15:31:36
Hans-Jörg
Hallo Werner,
vielen Dank ich hab schon mal probiert funktioniert einwandfrei,
vielen Dank schon mal im Vorfeld.
Gruß Jörg
Anzeige
Gerne u. Danke für die Rückmeldung. o.w.T.
16.08.2017 15:24:54
Werner
;
Anzeige
Anzeige

Infobox / Tutorial

Werte täglich übertragen und speichern in Excel


Schritt-für-Schritt-Anleitung

Um die Werte täglich aus einem Datenblatt in die entsprechenden Monatsblätter zu übertragen, kannst Du ein einfaches VBA-Script verwenden. Folge diesen Schritten:

  1. Öffne Deine Excel-Datei und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Erstelle ein neues Modul: Klicke mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)" und wähle Einfügen > Modul.

  3. Füge den folgenden Code ein:

    Sub t()
       Dim WS1 As Worksheet, WS2 As Worksheet, lngSpalte As Long
       Set WS1 = Worksheets("Aktueller Stand")
       Set WS2 = Worksheets(Format(WS1.Range("A1"), "MMM"))
       lngSpalte = Application.Match(CLng(WS1.Range("A1")), WS2.Rows(1), 0)
       WS2.Cells(4, lngSpalte) = WS1.Range("A3")
       WS2.Cells(6, lngSpalte) = WS1.Range("A5")
       WS2.Cells(8, lngSpalte) = WS1.Range("A7")
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Führe das Script aus: Drücke ALT + F8, wähle t aus der Liste und klicke auf Ausführen.

Jetzt werden die aktuellen Werte in die entsprechenden Zeilen der Monatsblätter übertragen und gespeichert.


Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 9: Index außerhalb des gültigen Bereichs"

    • Lösung: Stelle sicher, dass der Name des Arbeitsblattes in Set WS1 = Worksheets("Aktueller Stand") korrekt ist. Überprüfe auch die Namen der Monatsblätter.
  • Fehler: Die Werte werden nicht aktualisiert

    • Lösung: Vergewissere Dich, dass das Datum in Zelle A1 korrekt formatiert ist und dass die Monate in den Arbeitsblättern korrekt benannt sind.

Alternative Methoden

Wenn Du keine VBA-Programmierung verwenden möchtest, kannst Du auch folgende Methoden nutzen:

  1. SVERWEIS: Verwende die SVERWEIS-Funktion, um die Werte basierend auf dem Datum in den Monatsblättern abzurufen.

    Beispiel:

    =SVERWEIS(A1; 'Aktueller Stand'!A3:C7; 2; FALSCH)
  2. Makros aufzeichnen: Du kannst auch die Makroaufzeichnung verwenden, um die Schritte zu automatisieren, ohne den Code manuell einzugeben.


Praktische Beispiele

Angenommen, Du hast die Werte in A3, A5 und A7. Mit dem oben angegebenen VBA-Code werden die Werte automatisch übertragen. Hier ist ein Beispiel, wie die Struktur Deiner Daten aussehen könnte:

  • Aktueller Stand (Datenblatt):

    • A1: Datum (z.B. 01.08.2023)
    • A3: Wert1 (z.B. 100)
    • A5: Wert2 (z.B. 200)
    • A7: Wert3 (z.B. 300)
  • Monatsblatt (z.B. August):

    • B1: 01.08.2023
    • B4: =A3 (Wert1 wird hierüber abgerufen)
    • B6: =A5 (Wert2 wird hierüber abgerufen)
    • B8: =A7 (Wert3 wird hierüber abgerufen)

Tipps für Profis

  • Automatisiere den Prozess: Du kannst das VBA-Script so anpassen, dass es automatisch beim Öffnen der Datei oder nach einem bestimmten Zeitintervall ausgeführt wird.
  • Fehlerprotokoll: Füge eine Fehlerbehandlung in dein VBA-Script ein, um Probleme beim Übertragen der Werte zu identifizieren und zu protokollieren.
  • Datenvalidierung: Stelle sicher, dass die Daten in den Zellen korrekt sind, bevor Du das Script ausführst. Dies minimiert Fehler.

FAQ: Häufige Fragen

1. Wie kann ich das VBA-Script anpassen, um weitere Werte zu übertragen? Du kannst einfach weitere Zeilen im Script hinzufügen, um zusätzliche Werte aus dem Datenblatt zu übertragen. Achte darauf, die richtigen Zellreferenzen zu verwenden.

2. Funktioniert dies in jeder Excel-Version? Ja, das VBA-Script sollte in Excel 2010 und späteren Versionen funktionieren. Stelle sicher, dass die Makros aktiviert sind.

3. Was passiert, wenn ich das Script an einem Wochenende ausführe? Das Script wird die Werte für das aktuelle Datum übertragen. Wenn das Datum auf ein Wochenende fällt, wird der Wert trotzdem übertragen, solange das Datum korrekt im Arbeitsblatt angegeben 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