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

Datum vervollständigen

Datum vervollständigen
Miriam
Hallo zusammen,
ich hätte gerne einen Code, der die Datumsangabe vervollständigt.
Genauer gesagt gebe ich in der Spalte B (B7 bis B500) nur den Tag ein und danach wird das Datum vervollständigt.
Eingabe z.B. 20
Datum umgesetzt 20.11.2010
Monat und Jahr könnte ich in B2 hinterlegen.
Wer kann mir hierbei helfen?
VIele Grüße und danke!
Miriam

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Datum vervollständigen
20.11.2010 18:26:27
Hajo_Zi
Hallo Miriam,
wie wird das hinterlegt in B2?

AW: Datum vervollständigen
20.11.2010 19:21:59
Hajo_Zi
Hallo Miriam,
in b2 steht ein Datum vom gewünscten Monat und Jahr.
Option Explicit                             ' Variablendefinition erforderlich
Private Sub Worksheet_Change(ByVal Target As Range)
Dim RaBereich As Range                  ' Variable für Bereich
Dim RaZelle As Range                    ' Variable für Zelle
' Bereich der Wirksamkeit
Set RaBereich = Range("B7:B500")
' noch mehr Bereiche
'Set RaBereich = Union(Range("C11:AG11 , C13:AG13, C15:AG15 , C17:AG17"), _
'    Range("C35:AE35, C37:AE37, C43:AG43, C45:AG45 , C47:AG47 , C49:AG49"), _
'    Range("C67:AF67 , C69:AF69 , C75:AG75 , C77:AG77 , C79:AG79 , C81:AG81"), _
'    Range("C99:AF99 , C101:AF101, C107:AG107 , C109:AG109 , C111:AG111"), _
'    Range("C127:AG127 , C129:AG129 , C131:AG131 , C133:AG133 , C139:AF139"), _
'    Range("C155:AG155, C157:AG157 , C159:AG159 , C161:AG161 , C163:AG163"), _
'    Range("C179:AF179 , C181:AF181, C187:AG187 , C189:AG189 , C191:AG191"))
' Zelle die in dem Bereich liegen auf die Variable schreiben
' damit werden nur noch die Zellen bearbeitet die im vorgegeben Bereich liegen
' jede Zelladresse ist einzeln angegeben
Set RaBereich = Intersect(RaBereich, Range(Target.Address))
If Not RaBereich Is Nothing Then
Application.EnableEvents = False
'ActiveSheet.Unprotect ("Passwort")
For Each RaZelle In RaBereich
If RaZelle  "" Then Range(RaZelle.Address) = DateSerial(Year(Range("B2")), Month( _
Range("B2")), RaZelle)
Next RaZelle
'ActiveSheet.protect ("Passwort")
Application.EnableEvents = True
End If
Set RaBereich = Nothing                 ' Variable leeren
End Sub
Gruß Hajo
Anzeige
Das kann man mit der Ereignisprozedur...
20.11.2010 18:59:10
Luc:-?
Worksheet_Change und bspw einer udFkt wie D2Date (findest du in dieser BspMappe, die zu einem Thread von Juni 2010 gehört) hinbekommen, Miriam…
Dazu musst du im VBEditor der BspMappe mal nach der Fkt suchen (ganzes Projekt!). Dann findest du auch, wie die hier eingebunden wurde (1.Blatt u. vor allem nur für Tag JUN-MAI!). Testen kannst du die udFkt auch im TabBlatt.
Es gibt allerdings auch noch einfachere Möglichkeiten, allerdings wohl nicht für nur Tagesangabe…
Gruß+schöSo, Luc :-?
AW: Datum vervollständigen
20.11.2010 19:15:12
Josef

Hallo Miriam,
kopiere folgenden Code in das Modul der entsprechenden Tabelle.
Das Jahr steht in B1, der Monat in B2!

' **********************************************************************
' Modul: Tabelle3 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim rng As Range
  
  On Error GoTo ErrExit
  
  If Not Intersect(Target, Range("B7:B500")) Is Nothing Then
    Application.EnableEvents = False
    For Each rng In Intersect(Target, Range("B7:B500"))
      If rng <> "" Then rng = DateSerial(Range("B1"), Range("B2"), rng)
    Next
  End If
  
  ErrExit:
  Application.EnableEvents = True
End Sub

Gruß Sepp

Anzeige
AW: Datum vervollständigen
20.11.2010 19:28:22
Peter.H
Hallo Miriam
wenn nur der aktuelle Monat und das aktuelle Jahr bentigt wird dann so:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, Range("B7:B500")) Is Nothing Then
If Target > 0 Then
On Error GoTo Ende
Application.EnableEvents = False
Target.Value = DateSerial(Year(Date), Month(Date), Target.Value)
End If
End If
Ende:
Application.EnableEvents = True
End Sub
Gruß
Peter
Vielen Dank für Eure zahlreiche
21.11.2010 17:13:18
Miriam
Hilfe. Bin überwältigt.
Vielen vielen Dank!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige