شكرا اخي لكن اريده ان يعمل اوتوماتيكيا اي اذا فرغت الخلايا يختفي اذا تغير المحتوى يظهر العمود اوتوماتيكيا
هل يمكن تعديل هذا الكود ليغمل على ورقة عمل واحدة لانه يعمل على ورقتين اذا كان الشرط بالورقة 1 يختفي العمود في الولرقة لاخرى اوتوماتيكيا و يعود ليظهر اوتوماتيكيا
Sub Hide_unhide()
Dim Sh1 As Worksheet, Sh2 As Worksheet
Dim Ar_cel, Ar_n, i%
Application.ScreenUpdating = False
Set Sh1 = Sheets("واجهة"): Set Sh2 = Sheets("بيانات")
Sh1.Range("D1:Q1").EntireColumn.Hidden = False
Ar_cel = Array("an", "ao", "ap", "aq", "ar")
Ar_n = Array("b", "c", "d", "e", "f")
For i = LBound(Ar_cel) To UBound(Ar_cel)
Sh1.Range(Ar_n(i) & 1).EntireColumn.Hidden = _
IIf(Sh2.Cells(88, Ar_cel(i)) = 0, -1, 0)
Next i
Application.ScreenUpdating = True
End Sub
'+++++++++++++++++++++++++++++++++++++++++
Private Sub Worksheet_Activate()
Hide_unhide
End Sub