
12-04-12, 23:44
|
 | Διαχειριστής Όνομα: Τάσος Φιλοξενιδης Έκδοση λογισμικού 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 Ανάπτυξη επαγγελματικών εφαρμογών |