Forum

Forum (https://www.ms-office.gr/forum/)
-   Excel - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/)
-   -   [Excel07] Αντιγραφή δεδομένων (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/4715-antigrafi-dedomenon.html)

Mpampis9050 23-10-17 20:46

Αντιγραφή δεδομένων
 
1 Συνημμένο(α)
Γειά σας αγαπητοί φίλοι, θα ήθελα τη βοήθεια σας για να αντιγράφονται δεδομένα κάποιας στήλης σε στήλη άλλου φύλλου, όπως γίνεται σε μία βάση δεδομένων. Δηλαδή κάθε νέα εγγραφή, (ακόμα και στα ήδη μη κενά κελιά) να αντιγράφεται σε νέα σειρά χωρίς ενημέρωση των προηγούμενων σειρών από πάνω.
πχ. έχουμε στήλη με ονόματα στο φύλλο Α και θέλουμε να μεταφέρονται σε στήλη στο φύλλο Β της οποίας το μήκος φυσικά θα είναι απεριόριστο αφού δεν θα ενημερώνονται οι υπάρχουσες καταχωρήσεις.
Ολα αυτά βέβαια μάλλον θα γίνονται με κώδικα, γι αυτό και απευθύνομαι στις γνώσεις σας.
Σας ευχαριστώ ...
(επισυνάπτω αρχείο)

Spirosgr 23-10-17 21:13

Μπάμπη, καλώς ήλθες στο ms-office.gr

Αν κατάλαβα το ζητούμενο, τότε:

1. Κάνε το βιβλίο .xlsm
2. Βάλε στο φύλλο 2, κελί a1, ένα τίτλο πχ Edit List
3. Αντέγραψε τον πιο κάτω κώδικα, στο φύλλο1, συμβάν Worksheet_Change

Κώδικας:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Lrow As Long
    Lrow = Sheet2.Cells(Rows.Count, 1).End(xlUp).Row + 1

    If Target.Rows.Count > 1 Then Exit Sub
    If Target.Columns.Count > 1 Then Exit Sub

    If Target.Column <> 1 Then Exit Sub
    Sheet2.Cells(Lrow, 1).Value = Target.Value
End Sub

Σε κάθε αλλαγή, στη στήλη Α, φύλλο1,
θα καταχωρείται η εγγραφή, στο τελευταίο (κενό) κελί της στήλης Α, του φύλλου2.

Νέα καταχώρηση θα γίνεται, ακόμα κι αν αλλάξει μια τιμή στο φύλλο1

Spirosgr 23-10-17 21:23

Συμπληρωματικά, επειδή δεν διευκρινίζεις το ρόλο της =Τ()
αν δηλαδή η μεταφορά θα γίνει σε τιμές string και μόνο,
βάλε μετά το
Κώδικας:

    If Target.Column <> 1 Then Exit Sub
την γραμμή/γραμμές (κατ' επιλογήν) για απαγόρευση αριθμών, ημερομηνιών
Κώδικας:

  If IsNumeric(Target.Value) Then Exit Sub
    If IsDate(Target.Value) Then Exit Sub


Mpampis9050 23-10-17 22:56

Not working
 
2 Συνημμένο(α)
Φίλε Σπύρο ευχαριστώ για την άμεση ανταπόκριση, έκανα ότι μου είπες αλλά μου βγάζει μήνυμα λάθους. Αν μπορείς ανέβασε ένα μικρό παράδειγμα ...

Spirosgr 23-10-17 23:04

Προφανώς έχεις Ελληνικό Office.
Άλλαξε όπου Sheet2 = Φύλλο2

Mpampis9050 23-10-17 23:22

Δουλεύει. Είσαι φοβερός. Ευχαριστώ ...

Spirosgr 23-10-17 23:23

Να 'σαι καλά.


Η ώρα είναι 10:54.

Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2