Καλημέρα.
Δημήτρη, καλώς όρισες στο 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, υπάρχει ήδη στο φύλλο, να μην αντιγραφεί δεύτερη φορά.