Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Excel > Excel - Ερωτήσεις / Απαντήσεις > [VBA] Αυτόματο ύψος γραμμής

Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ.

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 24-06-23, 12:17
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 09-03-2023
Μηνύματα: 102
Προεπιλογή Αυτόματο ύψος γραμμής

Γεια σας φίλοι του φόρουμ, πιστεύω να είστε καλά.
Στο συνημμένο έχω κάποιες στήλες σε συγχώνευση και έχω περιεχόμενο.
Θα εισαχθούν συναρτήσεις όπου θα επιστρέφουν κάποιο κείμενο, το οποίο μπορεί να καταλαμβάνει 1 και παραπάνω σειρές κάθε φορά. Θα μπορούσε με κάποιο τρόπο, εφόσον υπάρχει κείμενο να τροποποιηθεί αυτόματα το ύψος της γραμμής;
Κάνω αναδίπλωση κειμένου χειροκίνητα και διπλό κλικ στο σημείο της γραμμής ώστε να πάρει το ανάλογο ύψος αλλά δεν ανοίγει.
Συνημμένα Αρχεία
Τύπος Αρχείου: xlsx Νέο Φύλλο.xlsx (8,5 KB, 8 εμφανίσεις)
Απάντηση με παράθεση
  #2  
Παλιά 27-06-23, 08:51
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.035
Προεπιλογή

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

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

Δημιουργούμε ένα φύλλο εργασίας, με όνομα κλάσης "ShData" και δίνουμε στο πρώτο κελί του (Α1) το όνομα "HelpCell".
Μπορούμε να κρύψουμε το φύλλο αυτό αφού προηγουμένως φροντίσουμε η μορφοποίηση του κελιού "HelpCell" να είναι η ίδια με αυτή των περιοχών με τα συγχωνευμένα κελιά.

Κατόπιν σε μια νέα λειτουργική μονάδα (Module) αντιγράφουμε τον παρακάτω κώδικα:

Κώδικας:
Option Explicit

Sub SetRowHeight()
    Dim colWidth As Integer
    Dim oRange As Range
    Dim oCell  As Range
    Dim MergedCell As Range
    Dim HelpCell As Range

    Set HelpCell = Range("HelpCell")
    Set oRange = ShData.Range("b2", ShData.Range("b" & Rows.Count).End(xlUp))
    Application.ScreenUpdating = False

    For Each oCell In oRange
        If oCell.MergeCells Then
            If colWidth = 0 Then
                For Each MergedCell In oCell.MergeArea
                    colWidth = colWidth + MergedCell.ColumnWidth
                Next
            End If
            If HelpCell.ColumnWidth <> colWidth Then
                HelpCell.ColumnWidth = colWidth
            End If
            HelpCell.Value = oCell.Value
            HelpCell.EntireRow.AutoFit
            oCell.RowHeight = HelpCell.RowHeight
        End If
    Next
End Sub
Αντιστοιχούμε τον κώδικα σε ένα κουμπί και εκτελούμε όποτε χρειαστεί για να οριστεί το ύψος των συγχωνευμένων κελιών στη στήλη Β:Β.

Τι κάνεις ο κώδικας;

Δίνει στο πλάτος του κελιού HelpCell την τιμή του συνολικού πλάτους των συγχωνευμένων κελιών.

Σε κάθε μια από τις συγχωνευμένες περιοχές στη στήλη Β:Β:
  • Αντιγράφει τα περιεχόμενα του πρώτου κελιού της συγχωνευμένης περιοχής (στην περίπτωση μας στη στήλη Β:Β) στο κελί HelpCell
  • Εκτελεί την εντολή: HelpCell.EntireRow.AutoFit. για να ρυθμιστεί εκ νέου το ύψος του κελιού HelpCell .
  • Ρυθμίζει το ύψος της γραμμής των συγχωνευμένων κελιών σύμφωνα με το ύψος τοτ βοηθητικού κελιού HelpCell

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

Καλή συνέχεια.

Με εκτίμηση

Τάσος
Συνημμένα Αρχεία
Τύπος Αρχείου: xlsm MergedCellHeight.xlsm (27,3 KB, 11 εμφανίσεις)
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών

Τελευταία επεξεργασία από το χρήστη Tasos : 28-06-23 στις 11:44.
Απάντηση με παράθεση
  #3  
Παλιά 28-06-23, 06:06
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 09-03-2023
Μηνύματα: 102
Προεπιλογή

Καλήμερα!
Φίλε Τάσο σε ευχαριστώ πολύ για την πρόταση και τον χρονο που διέθεσες, θα προσαρμοσω το συνημμένο στο βιβλίο μου και θα επανελθω.
Απάντηση με παράθεση
Απάντηση στο θέμα


Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
υψος δευτερεουσας φορμας pakos Access - Ερωτήσεις / Απαντήσεις 1 26-04-23 15:14
[Γενικά] Αυτόματο Ημερολογιο christakos Excel - Ερωτήσεις / Απαντήσεις 15 05-08-19 12:43
[Γενικά] αυτόματο άρθροισμα rmaria Excel - Ερωτήσεις / Απαντήσεις 11 13-03-15 17:08
[ Εκθέσεις ] Σταθερό ύψος & ανάπτυξη xristos Access - Ερωτήσεις / Απαντήσεις 0 19-01-15 20:17
[VBA] Αυτόματο μήνυμα anestaki Excel - Ερωτήσεις / Απαντήσεις 5 23-04-12 13:21


Η ώρα είναι 06:25.