Datumproblem in Excel

  • #1
T

Total Benutzer

Guest
Ich habe in Excel mittels Makro ein Form erstellt. Wenn man auf den Button klickt (der auf dem Form ist), erstellt Excel in der Zelle B2 ein Datum. Dieses Datum habe ich so Formatiert:


Range(B2).NumberFormat = dd/mm/yy;@


Jedoch übernimmt Excel meine formatierung erst, wenn ich in die Zelle B2 doppel klicke!
Das darf aber nicht so sein.

Wie kann ich das Makro programmieren, sodass per Knopfdruck auf meinen Button direkt die Formatierung in der Zelle B2 übernommen wird?
 
  • #2
Nur ein Vorschlag.
Dein Makro erweitern:
Code:
Range(B2).NumberFormat = dd/mm/yy;@
Calculate

Wozu ist eigentlich das @?
 
  • #3
Hi klexy,

das->Calculate' ist super :D

Wenn man nicht das ganze Blatt aktuallisieren will, gehts auch mit der nochmaligen Zuweisung des Wertes.
Code:
Sub ForamtÜbernemhmen_ohneCalculate()
  Range(B7).NumberFormat = dd/mm/yy;@
  Range(B7).Value = Range(B7).Value
End Sub

Zu deiner Frage nach @:
Das @ bedeutet in diesem Fall, das ein negatives Datum als String dargestellt wird.

Zitat aus der Excel-Hilfe:
Ein benutzerdefinierter Formatausdruck für Zahlen kann aus bis zu vier Abschnitten bestehen, die durch Semikolons voneinander getrennt sind. Wenn das Argument Format
eines der benannten numerischen Formate enthält, ist nur ein Abschnitt zulässig.

VerwendungErgebnis
Ein AbschnittDer Formatausdruck bezieht sich auf alle Werte.
Zwei AbschnitteDer erste Abschnitt bezieht sich auf positive Werte und Nullen, der zweite auf negative Werte.
Drei AbschnitteDer erste Abschnitt bezieht sich auf positive Werte, der zweite auf negative Werte und der dritte auf Nullen.
Vier AbschnitteDer erste Abschnitt bezieht sich auf positive Werte, der zweite auf negative Werte, der dritte auf Nullen und der vierte auf Null-Werte.

Gruß Matjes :)
 
  • #4
Ja diese Version Funktioniert schon, wenn man das Datum direkt in die Zelle eingibt und dann mit einem Button-klick die einstellung für die Formatierung ändert. Somit übernimmt Exel die Formatierung.

Auf meiner Form muss man das Datum in eine Textbox eintrag, wenn man nun auf den Button klickt, wird der Value von der Textbox z.B.: in das Range(B7) übergeben. Somit ist das Datum als Text in der Zelle B7 und ist Linksbündig, ich möchte jedoch, dass es rechtsbündig ist und dass die Formatierungen übernommen werden.

Kann da jemand helfen?

Bei eurer Version sieht es bei mir so aus:

- Ich schreibe z.B.: den 1.1.04 in meine Textbox, danach klicke ich auf den
Button nun steht in der Zelle B7: 1.1.04 und ist linksbündig.

- Es sollte aber nach meiner Formatierung: 01.01.04 drin stehen und
rechtsbündig.


rechtsbündig = Exel hat den Wert als Datum erkannt.

Wenn ich im nachhinein einen doppelklick auf das Range-B7 mache, dann übernimmt er die Formatierung.

Also gibt es evt. eine Möglichkeit, mittels Makro - das ausfürhen eines doppelklicks????

Bitte um Hilfe.

Danke
 
  • #5
Hallo Total Benutzer,

jetzt ein Makro der sich einen Eingabe-String holt und ihn in der Zelle mit der gewünschten Formatierung ablegt.

Gruß Matjes :)
Code:
Sub DatumInB2()
  Dim s_tmp As String, d_date As Date

  s_tmp = InputBox(Bitte Datum eingeben :-), _
                   Datumseingabe)
 ->auf Datum prüfen
  If IsDate(s_tmp) Then
   ->Datums-String in Datum umwandeln
    d_date = s_tmp
   ->Format setzen, Datum eintragen
    Range(B2).NumberFormat = dd/mm/yy;@
    Range(B2).Value = d_date
  Else
   ->nicht interpretierbares Datum als String einragen
    Range(B2).NumberFormat = @
    Range(B2).Value = s_tmp
  End If
End Sub
 
Thema:

Datumproblem in Excel

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.963
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben