Anzeige
Archiv - Navigation
616to620
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
616to620
616to620
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA-Problem....Formeln automatisch eintragen

VBA-Problem....Formeln automatisch eintragen
29.05.2005 16:05:44
Manfred
Hallo liebe VBA-Könner,
vor längerer Zeit habt Ihr mir mit einer VBA-Lösung zum Problem "Formeln automatisch kopieren" ganz toll geholfen. Mir ging es damals (wie auch heute) um das AUTOMATISCHE einfügen.
Damals sollte sich von einem Datum in Spalte A einer Tabelle der Tag von selbst in Spalte G einfügen, das Monat in Spalte H und das Jahr in Spalte I.
Die Tabelle habe ich unter
https://www.herber.de/bbs/user/23349.xls
hier ins Forum gestellt.
Nun mein Problem:
In Spalte D dieser Tabelle soll ein weiteres Datum stehen und Tag, Monat, Jahr sollen sich automatisch in die Spalten J, K und L einfügen.
Da ich von VBA leider selbst noch sehr wenig bis keine Ahnung habe, weiß ich (auch nach vielen verschiedenen Versuchen) nicht, wie ich was in die folgende VBA-Formel eingeben muß, um mein Ziel zu erreichen.
Die derzeit aktuelle VBA-Formel ist:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 1 Or Target.Cells.Count > 1 Then Exit Sub
If IsDate(Target.Value) Then
Range("G" & Target.Row).Value = Day(Target.Value)
Range("H" & Target.Row).Value = Month(Target.Value)
Range("I" & Target.Row).Value = Year(Target.Value)
Else
MsgBox "kein Datum in A" & Target.Row
End If
End Sub

Außerdem habe ich in der o.g. VBA-Formel noch ein weiteres kleines Problem entdeckt...wenn ich ein in Spalte A eingetragenes Datum wieder lösche, bleibt in den Spalten G, H und I das Ergebnis der VBA-Berechnung erhalten. Es sollen jedoch bei Löschen des Eintrags in Spalte A auch die VBA-ermittelten Einträge verschwinden. Dasselbe soll nun auch neu für den o.g. Zusatz gelten.
Kann mir bitte jemand das komplette VBA-Makro verraten?
Ich wäre Euch für Euere Hilfe sehr dankbar.
Liebe Grüße,
Manfred

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA-Problem....Formeln automatisch eintragen
29.05.2005 16:20:20
Peter
Servus,
so müssts klappen, gibt sicherlich noch kürzere Versionen, funzen tuts aber.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column > 4 Then Exit Sub
If Target.Column = 1 Then
If IsDate(Target.Value) Then
Range("G" & Target.Row).Value = Day(Target.Value)
Range("H" & Target.Row).Value = Month(Target.Value)
Range("I" & Target.Row).Value = Year(Target.Value)
Else
MsgBox "kein Datum in A" & Target.Row
End If
End If
If Target.Column = 4 Then
If IsDate(Target.Value) Then
Range("J" & Target.Row).Value = Day(Target.Value)
Range("K" & Target.Row).Value = Month(Target.Value)
Range("L" & Target.Row).Value = Year(Target.Value)
Else
MsgBox "kein Datum in D" & Target.Row
End If
End If
End Sub

MfG Peter
Anzeige
@Peter W....funzt super, bis auf ne Kleinigkeit
29.05.2005 16:31:31
Manfred
Hallo Peter W,
vielen Dank für Deine Hilfe! Klappt super!
Nur mein zuletzt genanntes (kleines) Problem in meiner Anfrage funzt noch nicht. Das ist die Geschichte mit dem gelöschten Datum, wobei aber das VBA-Ergebnis in den anderen Spalten noch stehenbleibt.
Hast Du (oder jemand anderes) vielleicht auch dafür noch ne Lösung? Wäre echt prima!
Danke im Voraus für das nochmalige reingucken! :-)
Gruß,
Manfred
AW: @Peter W....funzt super, bis auf ne Kleinigkeit
29.05.2005 16:49:10
Peter
Servus,
musst halt noch ne Abfrage einfügen, mir persönlich würd die msgbox aufn Wecker gehen, aber das musst selber wissen.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 1 And Target.Column <> 4 Then Exit Sub
If Target.Column = 1 Then
If IsDate(Target.Value) Then
Range("G" & Target.Row).Value = Day(Target.Value)
Range("H" & Target.Row).Value = Month(Target.Value)
Range("I" & Target.Row).Value = Year(Target.Value)
Else
MsgBox "kein Datum in A" & Target.Row
End If
If Target.Value = "" Then
Range("G" & Target.Row, "I" & Target.Row).Value = ""
End If
End If
If Target.Column = 4 Then
If IsDate(Target.Value) Then
Range("J" & Target.Row).Value = Day(Target.Value)
Range("K" & Target.Row).Value = Month(Target.Value)
Range("L" & Target.Row).Value = Year(Target.Value)
Else
MsgBox "kein Datum in D" & Target.Row
End If
If Target.Value = "" Then
Range("J" & Target.Row, "L" & Target.Row).Value = ""
End If
End If
End Sub

MfG Peter
Anzeige
AW: @Peter W....alles super! Danke!
29.05.2005 17:01:50
Manfred
Hallo Peter,
nun ists für meine Zwecke dank Deiner Hilfe perfekt.
Was die auch mich nervende MsgBox angeht....die hab ich jetzt einfach aus dem VBA-Makro rausgelöscht. Hatte nur vorher als absoluter VBA-Nichtschwimmer etwas Scheu vor Veränderungen in den Makros. Aber ich gelobe Besserung *gg*.
Schönes Wochenende!
Gruß, Manfred
gerne u. ebenfalls schönes Wochenende o.w.t.
29.05.2005 17:10:24
Peter
MfG Peter

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige