Çözüldü Seçilen satırı silme veya pasif etme

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

berkbaba

Normal Üye
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
üstadım
listboxta satır seçtikten sonra bir başka satır seçildiği an bir önceki seçilen satırı sayfadan silinmeden "bir önceki satır silinecek onaylıyor musunuz" EVET ise silinmesini HAYIR ise pasif durumda kalmasını sağlayacak bir koda ihtiyacım var. Yardımcı olabilir misiniz?
 

Ekli dosyalar

Aşağıdaki kodu sayfanızın kod bölümünde kullanabilirsiniz. A1 hücresi ve A2 hücrelerindeki değerleri silmemeniz gerekiyor veya kullanmayacağınız başka iki hücre ile kod içerisindeki hücre isimlerini güncellemeniz gerekiyor.
A1 hücresine son seçilen satır veya hücrenin adresini ekler,
A2 hücresine, A1 hücresinde son seçilen satır ise o adresi yazar; eğer a1 hücresinde satır adresi değil de hücre adresi varsa bunu dikkate almaz.

Kod:
You must log in to view content
(14 satır)
 

Ekli dosyalar

üstadım
listboxta satır seçtikten sonra bir başka satır seçildiği an bir önceki seçilen satırı sayfadan silinmeden "bir önceki satır silinecek onaylıyor musunuz" EVET ise silinmesini HAYIR ise pasif durumda kalmasını sağlayacak bir koda ihtiyacım var. Yardımcı olabilir misiniz?

Aşağıdaki kodu sayfanızın kod bölümünde kullanabilirsiniz.
Sayın @okutkan
Verdiğiniz cevap ile konu sahibinin isteğini bağdaştıramadım.
Ben mi anlayamadım acaba?
Eklediğiniz belgede, konu sahibinin isteği gerçekleşiyor mu acaba?
 
Soruyu yanlış anlamış olabilirim. İşlemin gerçekleşmesi için satır seçilmesi gerekiyor. Hücre seçildiği zaman satır seçme koşulu gerçekleşmediği için kod çalışmıyor. Silmek istediği satırı, sol tarafta bulunan satıra ait sayıya tıkladığında silme işlemi için mesaj kutusu çıkıyor.
 
Kusura bakmayın ben yanlış anlamışım. Sorudaki "listbox" ayrıntısını fark etmediğim için, sayfa üzerindeki satırın silme işlemi için kod yazmıştım.
 

Ekli dosyalar

  • SatirSil.webp
    SatirSil.webp
    7.7 KB · Görüntüleme: 2
Estağfurullah, ne kusuru @okutkan .
Ben hala isteği kafamda netleştirebilmiş değilim.
Tahminim o ki istek; Listbox satırının PASİF olmasıyla (artık ne demekse, daha sonra anlayacağız) ilgili.
Ve yine tahminim o ki PASİF olmayan Listbox satırı (sayfadaki satırla beraber) silinecek, PASİF olanlar silinmeyecek.
Dediğim gibi ListBox satırının PASİF olması ne demek orası ayrı konu. Anlayacağız artık.
 
-Excel sayfası için hazırladığım kodu listbox için aşağıdaki şekilde düzenledim.
-Userform üzerindeki label2 nesnesini gözükmeyecek bir yere yerleştirebilirsiniz.
-Kod çift tıklama ile çalışır. Tek tıklama ile çalıştığında; satır silindiği için listbox listesi yeniden yüklendiğinde tekrar tıklama gibi işlem yapıyor.
-Evet butonuna bastığınızda sayfa üzerindeki ve listbox üzerindeki satır silinir.
-Hayır butonuna bastığınızda -sizin tabirinizle- Pasif durumda kalır ve işlem yapmaz:)
 

Ekli dosyalar

Ömer Abim, Ali İhsan Abim
Ben, konuyu sizlere tam olarak anlatamadığım için sizlerden defaten özür dilerim.
Benim sıkıntım Listbox üzerinde Form üzerinde yıl ve ay comboboxları var.
Yapılacak İşlem :
Yıl seç,
Ay seç
Listbox1 de herhangi bir satırı sadece bir kere seç. İkinci kez seçmeme kesinlikle izin vermesin. (Sayfada kesinlikle silme yapmadan) Listboxta silebilir ya da pasif yapar seçilmesine izin vermesin.
------------------------------------------------------------
yıl ve ay değiştiği zaman
Listbox1 de tüm satırlar seçilebilecek şekile gelsin. Yine Listbox1 de satırı sadece bir kere seçsin. İkinci kez seçmeme kesinlikle izin vermesin. (Sayfada kesinlikle silme yapmadan) Listboxta silebilir ya da pasif yapar seçilmesine izin vermesin.
Yani Comboboxlarda değişiklik olduğu zaman yukarıdaki döngü devreye girsin.
Konuyu anlatamadığım için sizlerden tekrar tekrar özür dilerim. Saygılarımla
 
İstediğiniz şey olabilir mi bilemiyorum açıkçası ancak öncelikle şunu belirtmem lazım.
Listbox'ta bir satırı diğerlerinden farklı olacak şekilde biçimlendirmek dahi mümkün değil.
Örneğin bir satırın yazı rengi kırmızı, diğer satırınki siyah olamıyor.
Kaldı ki PASİF (seçilemez) hale getirmek sanırım hiç mümkün değil.

Belki etrafından dolaşarak, seçilen satırın listeden tamamen kaldırılması mümkün olabilir (düşünmek gerek).
Tabi Combobox'lardan birindeki seçim değiştirildiğinde tüm liste tekrar görünecek şekilde kodlama yapılması mesele değil .

Bir düşüneyim. Kafayı toplarsak konuya bakarım diye umuyorum.
 
@malatyalı
Listboxta bir veri satırının pasif olamayacağını daha evvel belirtmiştim.

O zaman şöyle bir çözüm önereyim:
-- belgenize, ismi gizli olan bir sayfa ekleyin ve bu sayfayı gizleyin,
-- veri tablonuzun bulunduğu sayfada A sütununa 1, 2, 3, ... gibi birer sıra numarası verin,
-- UserForm kodlarının tümünü silip, bunların yerine aşağıdaki kodları yapıştırın,

İşlem seçimle değil çift tıklama ile gerçekleştirilir. Çift tıklanan satır listboxtan kaybolur,
üstteki comboboxlardan birindeki seçim değiştirildiğinde listbox, tüm verileri içine alacak şekilde tekrar oluşur.

VBA:
You must log in to view content
(52 satır)
 
Sn. @malatyalı , memnuniyetinizi belirtmek için yapılacak şey belli:

-- çözümü sağlayan cevap hangisiyse o cevabın sağındaki TİK İŞARETİ'ne tıklamak,
-- istediğiniz sonuca ulaşıldığı/ulaşılmadığı hususunu net olarak ifade edecek kısa bir cevap yazmak,
-- forumda mümkün olduğunca sık ve uzun süreli çevrimiçi olarak, açılmış diğer konu sayfalarındaki soru ve çözümleri incelemek.

Yani el öpmeye filan lüzum yok, yaşça kim kimden daha kıdemlidir bilemeyiz değil mi?
 
Sorunuzun, açılış mesajındaki konuyla ilgisi yok diye anlıyorum.

Konu bütünlüğünün bozulmaması, forum düzeni ve diğer forumdaşlarımızın da daha iyi yararlanması bakımından;
sorularınızı, uygun başlık kullanarak ve konu/işlem türüne göre yeni konu açarak sorarsanız dahi iyi olur.
Anlayış göstereceğinizi düşünüyorum.

.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Konuyu başlatan
Normal Üye
Katılım
Konum
Türkiye
Konu Bilgi
Durum
Çözüldü 
Forum
Excel Makro Soruları
Başlangıç tarihi
Son yanıt tarihi
Cevaplar
15
Üst