Εμφάνιση ενός μόνο μηνύματος
  #6  
Παλιά 12-04-12, 23:44
Το avatar του χρήστη Tasos
Tasos Ο χρήστης Tasos δεν είναι συνδεδεμένος
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.035
Προεπιλογή

Μάκη, στο νέο σου παράδειγμα ( σε αντίθεση με αρχικό σου ) τα κελιά που φαίνονται κενά στην πραγματικότητα δεν είναι κενά με αποτέλεσμα να εμφανίζεται το γνωστό προειδοποιητικό μήνυμα.

Προφανώς εισάγεις τα δεδομένα αυτά από κάποια εξωτερική πηγή.

Τροποποίησε λοιπόν τον κώδικα σου έτσι:

Κώδικας:
Option Explicit

Sub MergeFoundCells()
    Dim SearchString
    Dim CurrAddress As String
    Dim MainRange As Range
    Dim rng As Range
    Dim AddrArray As Variant
    Dim i As Long
    Set MainRange = Range("AP2:CB500")
    SearchString = "m"
    Set rng = MainRange.Find(SearchString, LookIn:=xlValues)
    If Not rng Is Nothing Then
        CurrAddress = rng.Address
    Else
        Exit Sub
    End If
    Do
        If Not rng.MergeCells Then
            If Trim(rng.Offset(-1)) = vbNullString Then
                AddrArray = AddrArray & ";" & rng.Address
            End If
        End If
        Set rng = MainRange.FindNext(rng)
    Loop While Not rng Is Nothing And rng.Address <> CurrAddress
    AddrArray = Split(AddrArray, ";")
    Application.ScreenUpdating = False
    For i = 1 To UBound(AddrArray)
    Range(AddrArray(i)).Offset(-1).ClearContents
        Set rng = Range(Range(AddrArray(i)), Range(AddrArray(i)).Offset(-1))
        rng.Merge
        rng.HorizontalAlignment = xlCenter
        rng.VerticalAlignment = xlCenter
        With rng.Font
            .Name = "Arial"
            .Size = 18
            .Bold = True
        End With
    Next
End Sub
Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση