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

Makro ausführen zu bestimmten Daten

Makro ausführen zu bestimmten Daten
24.04.2016 13:55:16
Peter

Hallo Excelspezialisten,
ich benötige wieder einmal eure Hilfe.
Ich habe eine Tabelle, in welche in Spalte A2:A3000 ein Datum eingetragen wird.
Dieser Eintrag erfolgt sehr unregelmässig d. h. immer wenn etwas gebucht wird.
Immer wenn das Quartal beendet ist, soll in die erste freie Zelle "Übertrag"
eingefügt werden bzw. ein Makro.
Wenn z.B. am 31.3.2016 noch gebucht wird, dann soll am 1.4.2016 unter letztem Eintrag vom 31.3.2016 der Übertrag eingefügt werden.
Besten Dank für Eure Hilfe.
Gruss Peter

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro ausführen zu bestimmten Daten
24.04.2016 14:32:44
Hajo_Zi
Hallo Peter,
starte den VBA Editor (Alt+F11), Bild sollte zweigeteilt sein ansonsten Strg+R, Doppelklick auf Deine Datei, Doppelklick auf Deine Tabelle, Code ins rechte Fenster kopieren, VBA Editor schließen.
Das Makro wird automatisch gestartet.
Der Code wirkt nur in dieser Tabelle.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Row >= 2 And Target.Row <= 300 Then
If Application.RoundUp(Month(Target.Offset(-1, 0) / 3), 0) <> Application.RoundUp(Month( _
Target / 3), 0) Then
Application.EnableEvents = False
Target.Offset(1, 0) = Target
Target = "Übertrag"
Application.EnableEvents = True
End If
End If
End Sub


Anzeige
AW: Makro ausführen zu bestimmten Daten
24.04.2016 16:09:23
Fennek
Hallo,
ist es besser, alle Buchungen, auch für mehrere Jahre, untereinander zu schreiben und dann entweder mit Pivot oder mit Autofilte, die Monate/Quartale/Jahre zu filtern, die benötigt werden.
Autofilter bietet sehr einfache Abfragen für 'aktuel/letzten - Tag/Monat/Quartal/Jahr'.
Mfg

AW: Makro ausführen zu bestimmten Daten
24.04.2016 19:46:10
Peter
Hallo Fennek,
das mit dem Autofilter bzw. Pivottabelle benötige ich nicht. Ich möchte bewusst nach jedem
Ende des Quartals mit dem Beginn vom darauffolgenden Buchungstag den Übertrag einfügen.
Beispiel:
Test
01.01.2016
02.01.2016
02.02.2016
01.03.2016
Übertrag
01.04.2016
02.05.2016
01.06.2016
30.06.2016
Übertrag
02.07.2016
In der Erweiterung soll nicht nur Übertrag eingefügt werden sondern über ein Makro insgesamt
drei Zeilen, die in einem Makro bereits existieren. Mit dem Code ähnlich wie von Hajo erfolgt
dies damit automatisch.
Gruss Peter

Anzeige
AW: Makro ausführen zu bestimmten Daten
24.04.2016 19:41:33
Peter
Hallo Hajo,
danke für Deine Hilfe. Leider klappt es nicht so wie ich mir das vorstelle.
U.a. Aufstellung erfolgt durch Deinen Code:
Test
01.01.2016
02.01.2016
Übertrag
01.02.2016
01.03.2016
31.03.2016
01.04.2016
Übertrag
02.04.2016
Es sollte jedoch der Übertrag immer nach dem Monat letzten eingefügt werden.
Ich benötige jedoch folgendes Ergebnis:
Test
01.01.2016
02.01.2016
02.02.2016
01.03.2016
Übertrag
01.04.2016
02.05.2016
01.06.2016
30.06.2016
Übertrag
02.07.2016
Bitte prüfe nochmals ob dies machbar ist.
Besten Dank
Gruss Peter

Anzeige
AW: Makro ausführen zu bestimmten Daten
24.04.2016 19:51:26
Hajo_Zi
Hallo Peter,
es waren Klammern falsch.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Row >= 2 And Target.Row <= 300 Then
If Application.RoundUp(Month(Target.Offset(-1, 0)) / 3, 0) <> Application.RoundUp(Month( _
Target) / 3, 0) Then
Application.EnableEvents = False
Target.Offset(1, 0) = Target
Target = "Übertrag"
Application.EnableEvents = True
End If
End If
End Sub

Gruß Hajo

AW: Makro ausführen zu bestimmten Daten
25.04.2016 09:22:18
Peter
Hallo Hajo,
funktioniert einwandfrei. Besten Dank.
Gruss Peter

Anzeige
AW: Makro ausführen zu bestimmten Daten
26.04.2016 07:53:35
Peter
Hallo Hajo,
ich habe jetzt doch noch ein kleines Problem festgestellt, welches ich nicht lösen kann.
Anstatt das Wort "Übertrag" einzufügen möchte ich ein Makro ausführen lassen, welches insgesamt
drei Zeilen einfügt. Nach diesem Eintrag soll dann das neue Datum erfolgen. Dieses Datum stammt
aus einer Userform Textbox mit weiteren drei Textboxen.
Ich füge eine Datei bei. In dieser ist das ganze hinterlegt.
https://www.herber.de/bbs/user/105242.xlsm
Besten Dank für Deine Hilfe.
Gruss Peter

AW: Makro ausführen zu bestimmten Daten
26.04.2016 16:37:38
Hajo_Zi
Hallo Peter,
das wird schon seinen Grund haben warum nicht im ersten Beitrag eine Datei.
Der Antworter hat ja genung Zeit um das nachzubauen.
Die Zeit habe ich schon investiert und das´reicht.
Ich erstelle die Lösung für das was im Beitrag dargestellt wurde. Wird diese Darstellung geändert, überlasse ich anderen die Lösung, da ich schon eine Lösung erstellt hatte und dafür Zeit investiert habe. Ich arbeite nicht für den Papierkorb.

Anzeige
AW: Makro ausführen zu bestimmten Daten
26.04.2016 17:10:42
Peter
Hallo Hajo,
Deine Einschätzung ist nicht richtig.
Die übersandte Datei ist erst entstanden, nachdem ich aufgrund meiner geringen Kenntnis
hinsichtlich des Programmierens keinen Lösungsansatz gefunden habe. Ich hatte gedacht, dass
ich mein Makro einfach nur einzusetzen wäre, was jedoch ein Trugschluss war. Das mit den drei
Zeilen, habe ich fertig gestellt, was jedoch nicht funktioniert war wie gesagt, das ganze mit
der Userform zu bewerkstelligen.
Es wäre schön, wenn Du mir noch einen Tipp geben könntest.
Ich hatte keine Absicht Dich zu täuschen.
Gruss Peter

Anzeige
AW: Makro ausführen zu bestimmten Daten
27.04.2016 09:28:36
Peter
Hallo Hajo,
jetzt habe ich mit Hilfe Deiner Daten zu Worksheet_Change mein Ziel erreicht.
Aus der UserForm heraus werden die Daten in die Tabelle Übertragen. Ich hatte
den Fehler gemacht, dass ich die Daten aus allen Textboxen gleichzeitig über-
tragen wollte. Das geht jedoch nicht. Es muss zuerst das Datum übertragen werden
und dann die restlichen Textboxen. Damit funktioniert es einwandfrei.
Nochmals besten Dank für Deine Hilfe.
Gruss Peter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige