ListBox ( Sayfalar Arası Geçiş ) / Başlıksız UserForm

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

Kısa Açıklama

ListBox ( Sayfalar Arası Geçiş ) / Başlıksız UserForm isimli başlıkta, ilgili işlemlere dair detaylar yer almaktadır.
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Herkese merhabalar;
Bir konu hakkında bilgi sahibi olmak istiyorum. Excel dosyamda 30 kadar sayfa var. Ben bu sayfaların hepsini gizledim. Şimdi bütün sayfalara bir tane commanbutton koydum. Bir tane userform oluşturdum ve sayfa isimlerini de bu butonlara aktardım. Her bir sayfada ki butona tıklayınca userform açılıyor ilgili sayfanın butonuna tıklayınca sayfaya gidip butonu kapatıyorum. (Kullandığım kod: 1 (Bunuda Ömer Baran beyden öğrenmiştim)) Bu yapabildiğim ama asıl yapmaya çalıştığım ise örneğin bu sayfalarda bir hücre yada hücre bloğu içine tıkladığım zaman (aktifhücreler) bir listbox açılsa ve listenin içinde sayfa isimlerim olacak ilgili sayfaya gidince aktif olmayan bir hücreye tıklayınca listbox kapansa bu mümkün mü acaba ) Ben aktif hücrelere tıklayınca görünen bir commanbuttonu araştırırken yapabildim. (Kod:2) Ama bunu bir userform yada listboxa uygulayamadım.

Yardımcı olabilecek arkadaşlar için şimdiden tşk ederim.

1-)
Private Sub CommandButton1_Click()
Sheets("ÜRÜNLER").Visible = True
For Each shf In ThisWorkbook.Worksheets
If shf.Name <> "ÜRÜNLER" Then shf.Visible = False
Next
End Sub

2-) (Bu kodda CommandButton2 yerine Listbox açılacak ve sayfa listesi çıkacak ilgili sayfaya gidince ve aktif olmayan bir hücreye basınca kapanacak)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
CommandButton2.Visible = False
If ActiveCell.Row >= 5 And ActiveCell.Row <= 13000 And ActiveCell.Column = 2 Then
CommandButton2.Visible = True
Sheets("ÜRÜNLER").[E1] = Target.Row
CommandButton2.Top = ActiveCell.Top
End If
End Sub
 
Ömer hocam hangi sayfa yada hücreye tıklarsam tıklayayım direk hata veriyor. Ama ben bir kod buldum araştırırken tek sıkıntım sayfaları gizli yapınca çalışmıyor. Şöyle ki dosyanın için de bir userform onun üzerinde 1 tane combobox ve 1 tane listbox var. Kod kısmına gelince aşağıda ki gibi tek sıkıntım dediğim gibi sayfaları gizleyince çalışmıyor açıkken sıkıntı yok. Buna gizliykende çalışması için bir kod yazmak mümkün mü ? HATAMESAJI.webp

Option Explicit

Private Sub cbSayfalar_Change()
Worksheets(cbSayfalar.Text).Activate
End Sub


Private Sub lbSayfalar_Click()
Worksheets(lbSayfalar.Text).Activate
End Sub

Private Sub UserForm_Initialize()
Dim Bak As Worksheet
For Each Bak In ThisWorkbook.Worksheets
cbSayfalar.AddItem Bak.Name
lbSayfalar.AddItem Bak.Name
Next
End Sub
 
Moderatörün son düzenlenenleri:
Sorunun kaynağı 64 bit kullanıyor olmanız.

Eklediğim userformlu örnekte;
userformun kod bölümünde en üstteki üç satırda,
Declare Function ibarelerinin arasına aşağıdaki gibi
Declare PtrSafe Function şeklinde ekleme yaparak deneyin.

.
 
Hocam iki dosyayı da inceledim ilginiz için tşk ederim. PtrSafe uygulayınca düzeldi aslında benim paylaştığım kodlardan daha güzel hedef sayfaya gidince listbox kendisini otomatik kapatıyor. İlk paylaştığınız dosyada ben sayfayı gizlediğim zaman ilgili sayfaya gitmesini nasıl sağlayabilirim. Sadece yeni ekleneceklerle beraber 35-40 adet sayfanın altta gizli kalmasını istiyorum.
 
Sayın @ceterisdenge .

64 bit
olayı için de kod düzenlemesi ekledim.

Açılan userformda aktif sayfa adı hariç listeleme için UserForm_Initialize kodlarında
aşağıdaki kırmızı kısmı yeşil olanla değiştirirsiniz.


VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(5 satır)

.
 
Ekli dosyalar
Moderatörün son düzenlenenleri:
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Geri
Üst