Εμφάνιση ενός μόνο μηνύματος
  #2  
Παλιά 28-01-17, 05:00
Το avatar του χρήστη Spirosgr
Spirosgr Ο χρήστης Spirosgr δεν είναι συνδεδεμένος
Συντονιστής
Όνομα: Σπύρος Τσιλιγιάννης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010, Ms-Office 2013, Ms-Office 2016, Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 22-11-2011
Περιοχή: Αθήνα
Μηνύματα: 2.321
Προεπιλογή

Καλημέρα.
Δημήτρη, καλώς όρισες στο ms-office.gr.

Κατ' αρχήν, με βάση το αρχείο σου,
το μεταφερόμενο κελί, είναι το b3 και όχι το b4 της περιγραφής.
Με αυτό το δεδομένο, έγινε και ο κώδικας.

Βάζουμε στο a1, μια ημερομηνία, μορφής 25/1/2017 (προσοχή: όχι σημερινή)
Βάζουμε στο d1, έναν τίτλο, πχ: «Ποσοστά»

Στο φύλλο, (συμβάν Change) αντιγράφουμε τον κώδικα:
Κώδικας:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)

    If Intersect(Target, Sheet1.Range("a2:b2")) Is Nothing Then Exit Sub

    Dim LRow As Long
    LRow = Sheet1.Cells(Rows.Count, 4).End(xlUp).Row + 1

    If Sheet1.Cells(1, 1).Value = Date Then

        Select Case MsgBox("Έχετε Ήδη Καταχωρήσει Τιμή." _
                         & vbCrLf & "Θέλετε Να Την Αλλάξω;" _
             , vbYesNo Or vbDefaultButton2, "Πληροφορία...")

        Case vbYes
        
            Sheet1.Cells(LRow - 1, 4).NumberFormat = "##0.00%"
            Sheet1.Cells(LRow - 1, 4).Value = Sheet1.Cells(3, 2).Value
            Exit Sub
            
        Case vbNo
        
            Application.EnableEvents = False
            Application.Undo
            Application.EnableEvents = True
            Exit Sub
            
        End Select

    Else
        Sheet1.Cells(LRow, 4).NumberFormat = "##0.00%"
        Sheet1.Cells(LRow, 4).Value = Sheet1.Cells(3, 2).Value
        Sheet1.Cells(LRow, 5).NumberFormat = "d/m/yyyy"
        Sheet1.Cells(LRow, 5).Value = Date
        
        Sheet1.Cells(1, 1).NumberFormat = "d/m/yyyy"
        Sheet1.Cells(1, 1).Value = Date
        Exit Sub
        
    End If
End Sub 
Ο κώδικας, καταχωρεί στην στήλη D, την τιμή του κελιού b3, ενώ στο διπλανό κελί της Ε, καταχωρεί την ημερομηνία.

Ακόμα, δίνει την δυνατότητα, να αλλάξουμε μέσα στην ημέρα το ποσοστό
(περισσότερες από μία φορές) ή να κάνουμε Undo την ενέργεια, αν έγινε κατα λάθος αλλαγή σε κάποιο από τα κελιά a2 - b2

Σημείωση:
Αν η έκφραση Option Explicit, υπάρχει ήδη στο φύλλο, να μην αντιγραφεί δεύτερη φορά.
Απάντηση με παράθεση