Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Doppelte Eintragung
#1
Moin, moin
sicherlich ist meine Frage für euch ein klacks.
Mein Code:

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("B4") >= 2013 Then
Worksheets("Verlauf").Range("C10000").End(xlUp).Offset(1, 0) = Range("A4")
Worksheets("Verlauf").Range("a10000").End(xlUp).Offset(1, 0) = Range("B4")
Worksheets("Verlauf").Range("b10000").End(xlUp).Offset(1, 0) = "1"
End If
If Range("C4") >= 2013 Then
Worksheets("Verlauf").Range("C10000").End(xlUp).Offset(1, 0) = Range("A4")
Worksheets("Verlauf").Range("a10000").End(xlUp).Offset(1, 0) = Range("C4")
Worksheets("Verlauf").Range("b10000").End(xlUp).Offset(1, 0) = "1"
End If
End Sub

Meine Frage:
Trage ich in B4 ein Datum ein, werden die Daten in die nächste frei Spalte der Tabelle "Verlauf" eingetragen (läuft super).
Wird in C4 ein Datum eingetragen läuft auch alles korrekt nur wird leider auch nochmals die
Daten von B4 eingetragen. Somit habe ich einen doppelten Eintrag in der Tabelle "Verlauf".
"Wenn B4 ein Datum enthält, dann Befehl nicht ausführen".
(Gibt es einen angenehmeren Befehl für die Datum Abfrage)

Würde mich über eine Hilfestellung freuen.
Antwortento top
#2
Hallo,

Deinen Code kann man insgesamt so zusammenfassen:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
   If Not Intersect(Target, Range("B4,C4")) Is Nothing Then
      If Target >= 2013 Then
         Worksheets("Verlauf").Range("C10000").End(xlUp).Offset(1, 0) = Range("A4")
         Worksheets("Verlauf").Range("a10000").End(xlUp).Offset(1, 0) = Range("B4")
         Worksheets("Verlauf").Range("b10000").End(xlUp).Offset(1, 0) = "1"
      End If
   End If
End Sub
Gruß Atilla
Antwortento top
#3
Hi,

teste mal

statt mit Deiner Version
Code:
If Range("B4") >= 2013 Then

diese

Code:
If Range("B4") >= 2013 Or Range("C4") >= 2013 Then

Auf diesen Code-Teil
Code:
If Range("C4") >= 2013 Then
Worksheets("Verlauf").Range("C10000").End(xlUp).Offset(1, 0) = Range("A4")
Worksheets("Verlauf").Range("a10000").End(xlUp).Offset(1, 0) = Range("C4")
Worksheets("Verlauf").Range("b10000").End(xlUp).Offset(1, 0) = "1"
End If
solltest Du dann ganz verzichten können.

Allerdings ungetestet.

Gruß
Max
Antwortento top
#4
DANKE mit leichter Anpassung läuft alles super.
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste