Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Excel > Excel - Ερωτήσεις / Απαντήσεις > [VBA] Μορφοποιηση κελιού ημερομηνίας σε Χ/Χ/ΧΧΧΧ με χρήση μακροεντολής

Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ.

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 14-01-15, 20:13
Όνομα: Αλκηστις
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 14-12-2014
Μηνύματα: 18
Προεπιλογή Μορφοποιηση κελιού ημερομηνίας σε Χ/Χ/ΧΧΧΧ με χρήση μακροεντολής

καλησπέρα,

θα ήθελα να μορφοποιήσω τη στήλη f με ημερομηνίες που έχουν την μορφή 20.05.2015 σε 20/5/2015 ( απο χχ.χχ.χχχχ σε χ/χ/χχχχ )

χρησιμοποιήσα τον παρακάτω κωδικα
Κώδικας:
Sub datesformat()
'
' DateFormat Macro
'
    Range("f:f").Select
   
    'Selection.NumberFormat = "m/d/yyyy"
   
    Selection.Replace What:=".", Replacement:="/", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=False
    Cells.Find(What:=".", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
    xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
    , SearchFormat:=False).Activate
        
    'Selection.NumberFormat = "m/d/yyyy"
    
    Selection.Replace What:="/0", Replacement:="/", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=False
    
    'Selection.NumberFormat = "m/d/yyyy" 
    
End Sub
ομως σε κάποια κελιά που η ημερομηνια ειναι για παραδειγμα 10/01/2015 ενώ θελω να την κανει 10/1/2015, δεν την αλλάζει...

'Οταν όμως μπαίνω σε ένα απο αυτα τα κελιά και πατάω f2 και μπαίνω μέσα και πατάω enter αλλάζει.

Κάποια βοήθεια ;

ευχαριστώ εκ των προταίρων.
Απάντηση με παράθεση
  #2  
Παλιά 14-01-15, 21:13
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.035
Προεπιλογή

Καλησπέρα!

Δοκίμασε:

Κώδικας:
Sub test()
    With Range("F1:F" & Range("F" & Rows.Count).End(xlUp).Row)
        .NumberFormat = "d/m/yyyy"
        ' αν δεν υπάρχει αποτέλεσμα αφαίρεσε την απόστροφο από την παρακάτω γραμμή
        '.Formula = .Formula
    End With
End Sub
Καλή συνέχεια!

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
  #3  
Παλιά 15-01-15, 09:16
Όνομα: Αλκηστις
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 14-12-2014
Μηνύματα: 18
Προεπιλογή

Μολις το δοκίμασα κάποια κελιά επιμένουν να φαίνονται ως General Format παρά την εφαρμογή του κώδικα ....
και φαίνονται για παραδειγμα 15/01/2015 αντί 15/01/2015 που θέλω... ή 15/1/2015 με general format που παλι δεν μου κανει γιατι στο φιλτραρισμα δεν τα αναγνωριζει σαν ημερομηνίες.

Τί ακριβώς γίνεται ;

Τελευταία επεξεργασία από το χρήστη Zounds : 15-01-15 στις 09:51.
Απάντηση με παράθεση
  #4  
Παλιά 15-01-15, 12:10
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.035
Προεπιλογή

Η στήλη που θέλεις να μορφοποιήσεις προφανώς περιέχει κελιά με μορφή "κείμενο" ή κελιά με μορφή "Γενική" που περιέχουν Απόστροφο ( ' ) + την ημερομηνία.

Δοκίμασε:

Κώδικας:
Sub GhangeNumberFormat()
    With Range("F1:F" & Range("F" & Rows.Count).End(xlUp).Row)
        .NumberFormat = "d/m/yyyy"
        .TextToColumns DataType:=xlFixedWidth, FieldInfo:=Array(0, 4)
    End With
End Sub
Δες και το παράδειγμα στο συνημμένο.

Τάσος
Συνημμένα Αρχεία
Τύπος Αρχείου: xlsm Dates.xlsm (19,4 KB, 33 εμφανίσεις)
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
  #5  
Παλιά 15-01-15, 19:00
Όνομα: Αλκηστις
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 14-12-2014
Μηνύματα: 18
Προεπιλογή

Καλησπέρα,

σε ευχαριστώ πολύ για την βοηθειά σου,

τελικά αυτή η γραμμούλα
Κώδικας:
        .TextToColumns DataType:=xlFixedWidth, FieldInfo:=Array(0, 4)
έκανε την διαφορά.. δεν θα μπορούσα να το σκεφτώ δεν το ήξερα ...

ευχαριστώ,
Απάντηση με παράθεση
Απάντηση στο θέμα


Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[Συναρτήσεις] Μορφοποίηση γραμμών πίνακα και αυτόματη συνάρτηση υπό όρους άλλου κελιού DJTAKIS_7 Excel - Ερωτήσεις / Απαντήσεις 7 28-10-16 20:10
[ Φόρμες ] Αναγραφή μέρους της τρέχουσας ημερομηνίας [Now()] και, ταυτόχρονα, μορφοποίηση dimitrisp Access - Ερωτήσεις / Απαντήσεις 4 06-11-15 13:27
[Excel07] Συμπλήρωση κελιού με τιμή σε συγκεκριμένο κελί βάσει ημερομηνίας stam75 Excel - Ερωτήσεις / Απαντήσεις 13 08-10-15 16:32
[Συναρτήσεις] Μορφοποίηση ημερομηνίας nakosg Excel - Ερωτήσεις / Απαντήσεις 2 19-07-12 14:09
[Μορφοποίηση] Μερική Μορφοποίηση Κελιού φωτης Excel - Ερωτήσεις / Απαντήσεις 1 13-02-11 19:38


Η ώρα είναι 11:12.