Forum

Forum (https://www.ms-office.gr/forum/)
-   Excel - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/)
-   -   [Μορφοποίηση] Αυτόματη προσαρμογή ύψους γραμμής (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/1107-aytomati-prosarmogi-ipsoys-grammis.html)

Xristos 06-05-11 12:08

Ανάπτυξη στήλης
 
Ευχαριστώ. :icon_hihi: .
Ναι ήταν λάθος μου και το αναγνώρισα, αλλά δεν έγινε με πρόθεση.
Στον κώδικα βλέπω........ "Set rng = Range("A3:A" & Range("A" & Rows.Count).End(xlUp).Row)" το Α3:Α εννοεί την στήλη Α;;;; Αν θέλω να γίνει στην στήλη B,ή C, ή D θα πρέπει να το αλλάξω αυτό;;;; Και επίσης και κάτι άλλο αν θέλω να γίνει η ανάπτυξη σε δύο στήλες (π.χ στις D, E);;;;;;; γιατί μπορεί να έχει πολλά στοιχεία ή στην D ή στην Ε. Ευχαριστώ

Tasos 06-05-11 13:47

Ο κώδικας δημιουργεί μια περιοχή κελιών (nrg) από το Α3 μέχρι το τελευταίο κελί της στήλης A που δεν είναι κενό.

Κατόπιν με την εντολή rng.Cells.EntireRow.AutoFit ρυθμίζεται το ύψος ολόκληρης της γραμμής στην οποία ανήκει το καθένα από τα κελιά της της περιοχής.
Δε χρειάζεται λοιπόν να περιλάβεις δεύτερη στήλη στην περιοχή rng.

Στο παράδειγμα μας χρησιμοποιήσαμε τη στήλη A επειδή βάσει λογικής, θα είναι η στήλη που θα περιέχει πάντα δεδομένα (Α/Α Πινακίου).


Αν χρησιμοποιούσαμε τη στήλη B, θα είχαμε πρόβλημα αφού τα 2 τελευταία κελιά (B23, B24) δεν είναι συμπληρωμένα κι έτσι η περιοχή (rng)
θα ήταν κατά 2 κελιά "κοντύτερη" με αποτέλεσμα οι 2 τελευταίες γραμμές να μην συμπεριλαμβάνονται στη διαδικασία.


Τέλος πάντων, αν για κάποιο λόγο πρέπει να συμπεριληφθούν όλες οι γραμμές της χρησιμοποιημένης περιοχής τότε χρησιμοποιούμε:


Set rng = Range("A3:A" & ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count) - 1


Φιλικά


Τάσος


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

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


Search Engine Optimization by vBSEO 3.3.2