Microsoft Excel

Herbers Excel/VBA-Archiv

Datumformat ändern | Herbers Excel-Forum


Betrifft: Datumformat ändern von: Xandra
Geschrieben am: 30.11.2009 09:07:14

Guten Morgen,

ich habe ein Problem. Ich möchte gerne ein Datum im Format dd.mm.yyyy welches in Spalte o steht in der Spalte T als yyyy/mm umwandeln in vba. Die Anzahl der Zeilen varriiert immer, weshalb eine Formel ungünstig ist, zudem soll der Wert auch wirklich yyyy/mm sein.

Vielen Dank im Voraus

Gruß Xandra

  

Betrifft: Wert bleibt gleich von: Tino
Geschrieben am: 30.11.2009 09:59:13

Hallo,
soweit ich es kenne, ändert sich der Wert des Datums nicht sondern nur die Darstellung
also reicht es völlig aus die Zellen der Spalte T auf das Format JJJJ/MM einzustellen.

Gruß Tino


  

Betrifft: AW: Wert bleibt gleich von: Xandra
Geschrieben am: 30.11.2009 10:14:33

nur kann ich dann nicht mit Hilfe von Pivottabellen auf den selben Monat zugreifen, da dann nur auf die einzelnen tage zugegriffen werden kann.

Gruß Xandra


  

Betrifft: AW: Wert bleibt gleich von: Tino
Geschrieben am: 30.11.2009 10:32:48

Hallo,
Du könntest mal versuchen die Werte als Text darzustellen z. Bsp. mit dier Formel.

=WENN((O2>1461)*(O2<73000);TEXT(O2;"JJJJ/MM");"")

Datum in O muss >01.01.1904 und <31.12.2100 sein, kannst Du ja noch anpssen.


Gruß Tino


  

Betrifft: AW: Wert bleibt gleich von: Xandra
Geschrieben am: 30.11.2009 10:37:31

eine Formel habe ich schon, das funktioniert aber nur soweit wie ich auch die formel herunter gezogen habe und das macht die datei unglaublich groß, da ich nicht abschätzen kann wieviele datensätze in die datei importiert werden.


  

Betrifft: AW: Wert bleibt gleich von: Tino
Geschrieben am: 30.11.2009 10:55:16

Hallo,
mit VBA kannst Du es mal so versuchen.

Sub ErstelleFormel()
Dim LLetzte As Long

With Sheets("Tabelle1") 'Tabellennamen anpassen 
 'letzte Zeile in O bestimmen 
 LLetzte = IIf(IsEmpty(Cells(.Rows.Count, 15)), .Rows.Count, Cells(.Rows.Count, 15).End(xlUp).Row)
 'Bereich in T leer machen, ohne die Überschrift 
 .Range(.Cells(2, 20), .Cells(.Rows.Count, 20)).ClearContents
 'sind Daten ab Zeile 2 vorhanden? 
 If LLetzte > 1 Then 'ohne Überschrift 
  With .Range(.Cells(2, 20), .Cells(LLetzte, 20))
    'Formel erstellen in Spalte T 
    .FormulaR1C1 = _
    "=IF((RC15>1461)*(RC15<73000),TEXT(RC15,""JJJJ/MM""),"""")"
    
    'Nur die Werte, fals nicht gewünscht einfach löschen 
    .Value = .Value
  End With
 End If

End With

End Sub
Gruß Tino


  

Betrifft: Danke von: Xandra
Geschrieben am: 30.11.2009 11:08:55

Hey klasse funktioniert bestens. Ich danke dir

Gruß Xandra


  

Betrifft: Formeln beim Import anpassen von: Daniel
Geschrieben am: 30.11.2009 21:24:09

Hi

wenn du die Daten über die Importfunktion importierst, dann kannst du doch in den DATENBEREICHSEIGENSCHAFTEN (mal mit der rechten Maustaste auf bereits importierte Daten klicken) die Option "Formeln in angrenzenden Zellen ausfüllen" aktivieren.

Bei einer Datenaktualisierung werden dann auch die von dir eingebenen Formeln ergänzt oder gelöscht, falls der neue Import eine andere Zeilenzahl hat als der bereits bestehende.

Gruß, Daniel


  

Betrifft: AW: Wert bleibt gleich von: JogyB
Geschrieben am: 30.11.2009 11:13:13

Hallo Xandra,

natürlich kannst Du das. Rechtsklick auf das Auswahlfeld des Datums - Gruppierung und Detail Azeigen - Gruppierung - Monate auswählen (Mehrfachauswahl ist möglich!) - OK.

Gruss, Jogy


Beiträge aus den Excel-Beispielen zum Thema "Datumformat ändern"