GİZLİ SÜTUNLARI SİL

Katılım
19 Eylül 2012
Mesajlar
322
Excel Vers. ve Dili
2010 türkçe
Merhaba, çalışma sayfasındaki verilerin anlık değerlerine göre gizlenen yada tekrar açılan sütunlar bulunmaktadır. Userform üzerindeki bir buton ile Gizli sütunları silmek istiyorum. yardımlarınız için şimdiden teşekkür ederim.

Not: tabloda birleştirilmiş başlık (sütun) bulunmaktadır.
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,784
Excel Vers. ve Dili
Microsoft 365 Tr-64
Deneyin.
C++:
Sub sil()
    For i = 1 To Range("A1").SpecialCells(xlLastCell).Column
        If Columns(i).Hidden Then
                Columns(i).Delete
                i = i - 1
        End If
    Next i
End Sub
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,784
Excel Vers. ve Dili
Microsoft 365 Tr-64
Mevcut kodlarınızda Change gibi bir olay varsa o sebep oluyordur.
Ben deniyorum, birleşmiş bir hücresi varsa dahi gizli sütunları siliyor.
 
Katılım
19 Eylül 2012
Mesajlar
322
Excel Vers. ve Dili
2010 türkçe
Hocam sanırım userformda çalışan diğer kodlar buna mani oluyor. Peki sizden şunu rica edebilir miyim; masaüstünde DATA.xlsb adlı kapalı bir excel dosyasını açıp o dosyadaki gizli sütunları silebilecek bir kod verebilirmisiniz.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,735
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

Dosya yolunu ve kontrol edilecek sütun aralığını kendinize göre düzenlersiniz.

C++:
Option Explicit

Sub Gizli_Sutunlari_Sil()
    Dim Yol As String, Dosya As Object, Sayfa As Object, Veri As Range, Sutun As Range
   
    Application.ScreenUpdating = 0
   
    Yol = "C:\Users\Desktop\DATA.xlsb"
    Set Dosya = Workbooks.Open(Yol, False, False)
    Set Sayfa = Dosya.Sheets(1)
   
    For Each Veri In Sayfa.Range("A1:Z1")
        If Veri.EntireColumn.Hidden Then
            If Sutun Is Nothing Then
                Set Sutun = Veri.EntireColumn
            Else
                Set Sutun = Union(Sutun, Veri.EntireColumn)
            End If
        End If
    Next
   
    If Not Sutun Is Nothing Then
        Sutun.Delete
        Dosya.Close 1
        Application.ScreenUpdating = 1
        MsgBox "Gizli sütunlar silinmiştir."
    Else
        Dosya.Close 1
        Application.ScreenUpdating = 1
        MsgBox "Gizli sütun bulunamadı!", vbCritical
    End If
   
    Set Sayfa = Nothing
    Set Dosya = Nothing
End Sub
 
Üst