Soru Combobox da yazılı ismin ait olduğu satırı ve sayfayı silme

Katılım
27 Ocak 2021
Mesajlar
96
Excel Vers. ve Dili
2019 turkce
merhabalar
personel_kaldir adında combobox var butona bastığımda
PERSONEL adlı sayfadaki A stünunda combobox da yazan ismin olduğu satırı komple silecek
ayrıca bu isim ile aynı olan çalışma sayfasını silecek
ve son olarak
sayfa 4 ile 27 arası sayfalarda
Yine A stununda combobox taki ismi bulup o satırı ve altındaki 5 satırı komple silecek

yardımcı olursanız çok sevinirim işin içinden çıkamadım ben
hayırlı çalışmalar
 

RBozkurt

𐱅𐰇𐰼𐰚
Altın Üye
Katılım
10 Ocak 2018
Mesajlar
585
Excel Vers. ve Dili
Microsoft Office 2024
Google Sheets
Altın Üyelik Bitiş Tarihi
19-12-2026
Deneyin.

Kod:
Sub PersonelKaldirma()

Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("PERSONEL")
Dim aranacakDeger As String

ActiveWorkbook.Unprotect "123"
ActiveSheet.Unprotect "2227"

aranacakDeger = PERSONEL.Frame4.personel_kaldir.Value

Dim sonSatir As Long
sonSatir = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row

For i = 2 To sonSatir
    If ws.Cells(i, "A").Value = aranacakDeger Then
        ws.Rows(i).Delete
        Exit For
    End If
Next i

ActiveSheet.Protect "2227"
ActiveWorkbook.Protect "123"

End Sub
Kod:
Sub CalismaSayfasiSil()
Dim PageName As String

ActiveWorkbook.Unprotect "123"
ActiveSheet.Unprotect "2227"

PageName = PERSONEL.Frame4.personel_kaldir.Value
Dim ws As Worksheet
    For Each ws In ThisWorkbook.Worksheets
        If ws.Name = PageName Then
            ws.Delete
            Exit For
        End If
    Next ws
  
ActiveSheet.Protect "2227"
ActiveWorkbook.Protect "123"

End Sub
 
Son düzenleme:
Katılım
27 Ocak 2021
Mesajlar
96
Excel Vers. ve Dili
2019 turkce
Deneyemediğim için çalışıp çalışmama durumunu bilmiyorum.
Aşağıdaki makroları modüle ekleyip; 3 satır ile CommandButon ile çağırma işlemi yaparak çalıştırılabilir.

Combobox nerdeyse ona göre düzenleyin.
Örnek: Set cb = UserForm2.personel_kaldir

C++:
Call PersonelSayfasiSil
Call CalismaSayfasiSil
Call TumSayfalarSil
C++:
Sub PersonelSayfasiSil()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("PERSONEL")
Dim cb As ComboBox
Set cb = ActiveSheet.personel_kaldir ' ComboBoxa göre düzenleyin.
Dim sonuc As String
sonuc = cb.Value
Dim satir As Long
satir = ws.Range("A:A").Find(sonuc).Row
ws.Rows(satir).Delete
End Sub
C++:
Sub CalismaSayfasiSil()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets(ActiveSheet.personel_kaldir.Value) ' ComboBoxa göre düzenleyin.
ws.Delete
End Sub
C++:
Sub TumSayfalarSil()
Dim ws As Worksheet
Dim sonuc As String
sonuc = ActiveSheet.personel_kaldir.Value ' ComboBoxa göre düzenleyin.
For Each ws In ThisWorkbook.Sheets
If ws.Name >= "Sayfa4" And ws.Name <= "Sayfa27" Then
Dim satir As Long
satir = ws.Range("A:A").Find(sonuc).Row
ws.Rows(satir & ":" & satir + 4).Delete
End If
Next ws
End Sub
teşekkür ederim çalıştı
 

RBozkurt

𐱅𐰇𐰼𐰚
Altın Üye
Katılım
10 Ocak 2018
Mesajlar
585
Excel Vers. ve Dili
Microsoft Office 2024
Google Sheets
Altın Üyelik Bitiş Tarihi
19-12-2026
teşekkür ederim çalıştı
@kalibre101 Personel kaldırma ve Çalışma sayfası silme kodlarını değiştirdim. Denedim çalışıyor.
Fakat diğer hücrelerden arayıp silme işlemini çözemedim.

İlk makroyu tek tek düzeltip diğer sayfalara göre denenebilir.

Birde sayfa 4-27 değil; aşağıdaki gibi ?

Kod:
Sayfa5, Sayfa7, Sayfa8, Sayfa10, Sayfa11, Sayfa12, Sayfa13, Sayfa14, Sayfa15, Sayfa16, Sayfa17, Sayfa18, Sayfa19, Sayfa20, Sayfa21, Sayfa22, Sayfa23, Sayfa24, Sayfa25, Sayfa26, Sayfa27, Sayfa28, Sayfa29, Sayfa30, Sayfa31, Sayfa32, Sayfa33
 
Son düzenleme:

RBozkurt

𐱅𐰇𐰼𐰚
Altın Üye
Katılım
10 Ocak 2018
Mesajlar
585
Excel Vers. ve Dili
Microsoft Office 2024
Google Sheets
Altın Üyelik Bitiş Tarihi
19-12-2026
Tüm sayfalar şifreli ve korumalı.
Eğer tamamından şifreleri kaldırma makronuz varsa kaldırıp aşağıdakini deneyin.

C++:
Sub TumSayfalardanSil()

Dim ws As Worksheet
Dim valueToFind As String
Dim lastRow As Long

valueToFind = PERSONEL.Frame4.personel_kaldir.Value

For Each ws In ThisWorkbook.Sheets(Array("PERSONEL", "OCAK", "ŞUBAT", "MART", "NİSAN", "MAYIS", "HAZİRAN", "TEMMUZ", "AĞUSTOS", "EYLÜL", "EKİM", "KASIM", "ARALIK", "OCAK (2)", "ŞUBAT (2)", "MART (2)", "NİSAN (2)", "MAYIS (2)", "HAZİRAN (2)", "TEMMUZ (2)", "AĞUSTOS (2)", "EYLÜL (2)", "EKİM (2)", "KASIM (2)", "ARALIK", "DAMGA"))
lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row

For i = lastRow To 1 Step -1
    If ws.Cells(i, 1).Value = valueToFind Then
        ws.Rows(i).Delete
        Exit For
    End If
Next i
Next ws

End Sub
 
Katılım
27 Ocak 2021
Mesajlar
96
Excel Vers. ve Dili
2019 turkce
Tüm sayfalar şifreli ve korumalı.
Eğer tamamından şifreleri kaldırma makronuz varsa kaldırıp aşağıdakini deneyin.

C++:
Sub TumSayfalardanSil()

Dim ws As Worksheet
Dim valueToFind As String
Dim lastRow As Long

valueToFind = PERSONEL.Frame4.personel_kaldir.Value

For Each ws In ThisWorkbook.Sheets(Array("PERSONEL", "OCAK", "ŞUBAT", "MART", "NİSAN", "MAYIS", "HAZİRAN", "TEMMUZ", "AĞUSTOS", "EYLÜL", "EKİM", "KASIM", "ARALIK", "OCAK (2)", "ŞUBAT (2)", "MART (2)", "NİSAN (2)", "MAYIS (2)", "HAZİRAN (2)", "TEMMUZ (2)", "AĞUSTOS (2)", "EYLÜL (2)", "EKİM (2)", "KASIM (2)", "ARALIK", "DAMGA"))
lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row

For i = lastRow To 1 Step -1
    If ws.Cells(i, 1).Value = valueToFind Then
        ws.Rows(i).Delete
        Exit For
    End If
Next i
Next ws

End Sub
Teşekkür ederim ilk yazdığınız kodlarda değişiklik yaparak hallettim
 

RBozkurt

𐱅𐰇𐰼𐰚
Altın Üye
Katılım
10 Ocak 2018
Mesajlar
585
Excel Vers. ve Dili
Microsoft Office 2024
Google Sheets
Altın Üyelik Bitiş Tarihi
19-12-2026
Üst