Εμφάνιση ενός μόνο μηνύματος
  #1  
Παλιά 23-11-23, 18:28
spmatrix Ο χρήστης spmatrix δεν είναι συνδεδεμένος
Όνομα: Σπύρος
Έκδοση λογισμικού Office: Ms-Office 2010, Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 21-02-2023
Μηνύματα: 14
Προεπιλογή [EXCEL] Use Intersect with multi ranges and different Worksheets

Καλησπέρα στην ομάδα.

Στο συνημμένο αρχείο, έχω προσπαθήσει να φτιάξω ένα κώδικα vba, το οποίο μέχρι στιγμής λειτουργεί.
Αυτό που θέλω να κάνω και δεν μπορώ γιατί είμαι αρχάριος, είναι το εξής.
Έχω τον κώδικα στο Workbook για να λειτουργεί σε όλα τα φύλλα. Εκεί έχω το intersect
Κώδικας:
If Not Intersect(Target, Range("C8:E2000")) Is Nothing Then
....
....
For Each cell In Intersect(Target, Range("C8:E2000"))
που του ορίζω συγκεκριμένα κελιά.

Το θέμα είναι ότι έχω βάλει τις ίδιες γραμμές σε όλα τα φύλλα, πράγμα που δεν χρειάζεται.
Δηλαδή το φύλλο "ΔΔ" μπορεί να έχει 2000 γραμμές, ενώ το φύλλο "000-Α" μπορεί να έχει μόνο 100 γραμμές. Το ίδιο ισχύει και για τα υπόλοιπα φύλλα (διαφορετικός αριθμός γραμμών).
Στην πραγματικότητα όλα έχουν 2000 και έτσι μεγαλώνει και ο όγκος του αρχείου.

Θα μου πείτε γιατί δεν το κάνω πίνακα και με κάθε εγγραφή να μπαίνει και καινούρια γραμμή.
Όχι, γιατί όλα τα φύλλα θα είναι κλειδωμένα, και ο πίνακας δεν λειτουργεί σε κλειδωμένο φύλλο.

Οπότε πως θα μπορέσω να έχω τον κώδικα να λειτουργεί σε όλα τα φύλλα ταυτόχρονα (με την συνθήκη if που του έχω), αλλά και να ισχύει σε συγκεκριμμένο range του κάθε φύλλου ξεχωριστά.

Να σημειώσω ότι υπάρχει και 2ος κώδικας σε κάθε φύλλο και οι γραμμές που αναφέρονται στον κώδικα, έχουν διαγραφή για να μπορέσει να μειωθεί ο όγκος του αρχείου.


Σας ευχαριστώ εκ των προτέρων.

Με εκτίμηση/σεβασμό
Σπύρος
Συνημμένα Αρχεία
Τύπος Αρχείου: xlsm ΠΡΩΤΥΠΟ ΠΡΩΤΟΚΟΛΛΟ ΓΡΑΜΜΑΤΕΙΑΣ 202Χ ver. 2.22 ΜΕ VBA - Αντι?.xlsm (351,6 KB, 11 εμφανίσεις)
Απάντηση με παράθεση