Forum

Forum (https://www.ms-office.gr/forum/)
-   Excel - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/)
-   -   [Γενικά] Αυτόματη αλλαγή στήλης ανα 10 γραμμές (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/4201-aytomati-allagi-stilis-ana-10-grammes.html)

mahoney4 09-06-16 22:43

Αυτόματη αλλαγή στήλης ανα 10 γραμμές
 
Γεια σας και καλώς σας βρήκα σε αυτό το πολύ χρήσιμο φόρουμ.

Θα ήθελα να ρωτήσω εάν είναι δυνατόν να δουλέψω πάνω σε συγκεκριμένα κελιά και μόνο σε αυτά.
Δηλαδή τι εννοω;
Αυτο που θέλω να κάνω είναι να εισάγω αλφαριθμητικά δεδομένα ξεκινώντας π.χ. απο το κελί Α1 και μόλις φτάνω στο κελί Α10 να πηγαίνει αυτόματα στο κελί Β1 και ούτω καθεξής δηλαδή ανα 10 γραμμές να αλλάζει στήλη αυτόματα.

:thanks:

Spirosgr 10-06-16 06:16

Καλημέρα
Μάνο, καλώς ήλθες στο ms-office.gr.
Υπάρχουν διάφορα πράγματα, που μπορεί να κάνει κανείς,
για να έχει ένα παρόμοιο ή ίδιο αποτέλεσμα με το ζητούμενο.
Σημείωση:
Στα παραδείγματα, όπου Sheet1 το κωδικό όνομα του φύλλου.

1. Στο ThisWorkbook (ΑυτόΤοΒιβλίοΕργασίας) συμβάν Open:
Μπορούμε να αποκλείσουμε τον χρήστη, από το να δουλεύει σε γραμμές κάτω από την 10.
Κώδικας:

Private Sub Workbook_Open()
    Sheet1.ScrollArea = "a1:w10"
End Sub

Αντικαταστήστε, το "a1:w10" με την περιοχή που θέλετε.

ή

2. Στο Φύλλο που θέλουμε να συμβαίνει ο αυτοματισμός συμβάν SelectionChange:
Όταν φτάνουμε στην 11 γραμμή, μας «πετάει» στην γραμμή 1, της επόμενης στήλης.
Μπορούμε να δουλέψουμε κανονικά, από την γραμμή 12 και κάτω.
Κώδικας:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Rows.Count > 1 Then Exit Sub
    If Target.Columns.Count > 1 Then Exit Sub
    If Target.Row = 11 Then Target.Offset(-10, 1).Select
End Sub

ή

3. Στο Φύλλο που θέλουμε να συμβαίνει ο αυτοματισμός συμβάν SelectionChange:
Κώδικας:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Rows.Count > 1 Then Exit Sub
    If Target.Columns.Count > 1 Then Exit Sub
    Dim i As Long
    i = Target.Row - 1
    If Target.Row > 10 Then Target.Offset(-i, 1).Select
End Sub

Όταν επιλέγουμε οποιαδήποτε γραμμή κάτω από την 11,
μας «πετάει» στην γραμμή 1, της επόμενης στήλης.
Δεν μπορούμε να δουλέψουμε, από την γραμμή 10 και κάτω.

Συμπληρωματικά:
Μπορούμε ακόμα, να έχουμε συνδυασμό, του κώδικα 1 και 2.
Στον 1 αλλάξτε το "a1:w10" σε "a1:w11" και έχουμε:
Αποκλειστικά εργασία στις 10 πρώτες γραμμές και αυτόματη αλλαγή,
σε επόμενη στήλη γραμμή 1.

mahoney4 10-06-16 07:42

Σε ευχαριστώ πολύ Σπύρο δουλεύει μια χαρα οταν πληκτρολογώ αλλα δεν δουλεύει στην επικόλληση δηλαδή αν κανω αντιγραφή απο μια στήλη με 200 γραμμες θα τα βάλει σε μια στήλη.Εγω θα ήθελα αν γίνεται να αλλάζει στήλη και στην επικόλληση.
:thanks:

Spirosgr 10-06-16 07:46

Μάνο, το ζητούμενο δεν διευκρινίζει, θέμα επικόλλησης...
Ok, θα το δούμε.

mahoney4 10-06-16 12:59

Έχεις δίκιο νόμιζα πως θα λειτουργήσει και στην επικόλληση αλλά έκανα λάθος!

kapetang 10-06-16 17:44

1 Συνημμένο(α)
Καλησπέρα

Μάνο, δες μια προσέγγιση στο συνημμένο.

Φιλικά/Γιώργος

mahoney4 10-06-16 18:44

Ευχαριστώ Γιώργο θα το κοιταξω!!
:thanks::thanks::thanks:

mahoney4 10-06-16 19:38

1 Συνημμένο(α)
Συνημμένο Αρχείο 7965
Σπύρο και Γιώργο σας ευχαριστώ πολύ για τις απαντήσεις σας ήταν πολύ κατατοπιστικές . Γιώργο με αυτό που μου έστειλες δουλεύει και η επικόλληση τέλεια!!!
Ευχαριστώ και πάλι!!!!!
:respect:


Η ώρα είναι 09:01.

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


Search Engine Optimization by vBSEO 3.3.2