Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1492to1496
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

Problem bei Worksheet_change

Problem bei Worksheet_change
09.05.2016 08:48:41
Peter
Hallo Excelspezialisten,
benötige wieder einmal eure Hilfe.
Ihr habt mir bereits bei Worksheet_Change geholfen. Ich habe jedoch noch ein Problem.
Wenn die Tabelle leer ist bzw. in A2 "Anfangsbestand" steht, dann kann beim Eintrag
eines Datums ein Worksheet_Change nicht stattfinden. Hier habe ich einen Abbruch.
Wie kann ich den Code umschreiben, damit beim ersten Eintrag dieses Worksheet_Change
nicht ausgeführt wird dann aber immer?
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Row >= 2 And Target.Row  Application.RoundUp(Month( _
_
Target) / 3, 0) Then
Application.EnableEvents = False
Target.Offset(3, 0) = Target    'Datum wird 3 Zeilen unter Übertrag eingefügt
Target = "Übertrag - Summe"
Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveCell.Offset(-4, 1).Select
ActiveCell = "Ablesedatum:"
ActiveCell.Offset(0, 1).Select
ActiveCell = Date
Selection.NumberFormat = "m/d/yyyy"
ActiveCell.Offset(-1, 4).Select
ActiveCell.Copy
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("A1:G1").Copy
ActiveCell.Offset(1, -6).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=ActiveCell
ActiveCell.Offset(1, 0).Select
ActiveCell = "Übertrag"
ActiveCell.Offset(-2, 6).Select
Selection.Copy
ActiveCell.Offset(2, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
ActiveCell.Offset(1, -5).Select
Application.EnableEvents = True
End If
End If
End Sub

Danke für eure Hilfe.
Gruss Peter

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Problem bei Worksheet_change
09.05.2016 09:48:21
ChrisL
Hi Peter
Probiere mal...
If Target.Column = 1 And Target.Row >= 2 And Target.Row And Range("A2") "Anfangsbestand" Then
Aber irgendwie geht es noch nicht auf d.h. selbst wenn in A2 nicht mehr Anfangbestand steht und du ein Datum eingibst, dann ist Target.Offset(-1, 0) (also Zelle A1) vermutlich noch kein Datum. Vielleicht musst du darum die Bedingung um eine Zeile erhöhen.
If Target.Column = 1 And Target.Row >= 3 And Target.Row "Anfangsbestand" Then
cu
Chris

AW: Problem bei Worksheet_change
09.05.2016 10:22:11
Peter
Hallo Chris,
der Eintrag in der der dritten Zeile funktioniert einwandfrei.
Aber der Change, wenn der Quartalwechsel erfolgt funktioniert jetzt nicht mehr.
Es müsste also so sein, dass wenn A2 = Anfangbestand und A3 = ohne Datum, dann gilt der Code ohne
dem Zusatz, wie Du ihn eingegeben hast.
Zum besseren Verständnis:
Datum Grund der Eingabe Briefmarke € Briefmarke Anzahl Zugang € Abgang € Bestand €
Anfangbestand 0,00
01.01.2016 Zugang 0,45 5 2,25 2,25
01.04.2016 Zugang 0,60 5 3,00 5,25
So sieht das aus, mit Deiner Änderung.
Wenn ich nach der ersten Buchung die bisherige Version nehme, dann sieht es so aus:
Datum Grund der Eingabe Briefmarke € Briefmarke Anzahl Zugang € Abgang € Bestand €
Anfangbestand 0,00
01.01.2016 Zugang 0,45 5 2,25 2,25
Übertrag - Summe Ablesedatum: 09.05.2016 2,25
Datum Grund der Eingabe Briefmarke € Briefmarke Anzahl Zugang € Abgang € Bestand €
Übertrag 2,25
01.04.2016 Zugang 0,60 5 3,00 5,25
Ich weiss nicht ob das geht: Wenn das erste Ereignis zutrifft, dann gilt Worksheet_Change 1 und ansonsten gilt Worksheet_Change 2.
Gruss Peter

Anzeige
AW: Problem bei Worksheet_change
09.05.2016 10:58:52
ChrisL
Hi Peter
Im letzten Beitrag hast du geschrieben:
Wenn die Tabelle leer ist bzw. in A2 "Anfangsbestand" steht, dann ...
Wie ich jetzt aber verstehe, steht im A2 immer "Anfangsbestand". Die Bedingung
And Range("A2") "Anfangsbestand"
musst du folglich wieder löschen.
Erhöhe vielleicht auf 4:
Target.Row >= 4
Zwischen Anfangbestand Zeile 2 und dem ersten Datum Zeile 3 kann es sowieso noch keinen Quartalswechsel geben.
cu
Chris

AW: Problem bei Worksheet_change
09.05.2016 12:09:49
Peter
Hallo Chris,
funktioniert einwandfrei.
Besten Dank für Deine Hilfe.
Wünsche noch einen schönen Tag.
Gruss Peter
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige