• Bir süredir maillerde yaşanan sorunlar giderilmiştir. Şifremi unuttum yaparak şifrelerinizi mailinizden alabilirsiniz.

  • Foruma hoş geldin 👋 Ziyaretçi

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Çözüldü ListBox Görünüm Hatası

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

okinava14

Bronz Üye
Kullanıcı Bilgileri
Aktiflik
Çevrimdışı
Katılım
19 Haz 2022
Mesajlar
530
Aldığı beğeni
84
Excel V
Office 2021 TR
Konuyu Başlatan
Hayırlı akşamlar herkese. Listbox görünüm hatası aldım kodlarda değişiklikler yaparken.
Normalde düzgündü ama eklemeler yapmak zorunda kaldığım çeşitli kodlar sebebi ile Sütun genişlikleri ve Üst başlık sorunu oldu.
Yardımcı olabilecek hocalarımın desteğini bekliyorum.
 

Ekli dosyalar

  • Hatalı Sütun Genişliği.png
    Hatalı Sütun Genişliği.png
    46.3 KB · Gösterim: 3
  • STUN GENİŞLİK HATASI.png
    STUN GENİŞLİK HATASI.png
    103.7 KB · Gösterim: 3
  • SON.xlsm
    145 KB · Gösterim: 1
Çözüm
Sütun genişliği için bir kod göremedim.

Ama Initialize olayına yazabilirsiniz.

Atıyorum mesela aşağıdaki örneği kendinize göre düzenleyebilirsiniz.

With UserForm1.ListBox1
'.ColumnCount = 3
'.Width = "154"
'.ColumnWidths = "30;84;40"
End With
Teşekkürler emeğine sağlık Başlık olayı tamam. Sütun genişlikleri hakkında yardım edebilirmisiniz.
 
Sütun genişliği için bir kod göremedim.

Ama Initialize olayına yazabilirsiniz.

Atıyorum mesela aşağıdaki örneği kendinize göre düzenleyebilirsiniz.

With UserForm1.ListBox1
'.ColumnCount = 3
'.Width = "154"
'.ColumnWidths = "30;84;40"
End With
 
Çözüm
Hocam emeğinize yüreğinize sağlık. Tamam hallettim ama kafama takılan bir nokta var.
Ekteki kodda. Sub Listele olayındaki kodlar ne için o zaman?


Sub listele()
With Me.lstGoruntule
.ColumnHeads = True
Gridlines = True
.ColumnCount = 7
.ColumnWidths = "320;70;75;75;75;75"

son = sayfaVeriler.Range("A" & Rows.Count).End(3).Row
If son < 2 Then .RowSource = "'" & sayfaVeriler.Name & "'!A2:F2": Exit Sub
.RowSource = "'" & sayfaVeriler.Name & "'!A2:F" & son
End With
End Sub

Private Sub UserForm_Initialize()
Dim satir As Long
Dim lastRow As Long
Dim listBoxData As Variant

' "Tahsis" sayfasındaki son satırı bul
lastRow = ThisWorkbook.Sheets("Tahsis").Cells(Rows.Count, 1).End(xlUp).Row

' "Tahsis" sayfasındaki verileri diziye al
listBoxData = ThisWorkbook.Sheets("Tahsis").Range("A2:F" & lastRow).Value


' ListBox kontrolüne verileri ekleyin
With Me.lstGoruntule ' lstGoruntule, kullanılacak ListBox kontrolünün adıdır; uygunsa değiştirin
.ColumnCount = UBound(listBoxData, 2) + 1 ' Dizi sütun sayısını ListBox sütun sayısına ayarla

With FrmTahsis.lstGoruntule
.ColumnCount = 7
Gridlines = True
.Width = "320"
.ColumnWidths = "320;70;75;75;75;75"
End With
 

Ekli dosyalar

  • STUN GENİŞLİK HATASI.png
    STUN GENİŞLİK HATASI.png
    103.7 KB · Gösterim: 2
Sayın okinava14
listele makrosunu BtnSil butonunda kullanmışsınız.
listele makrosu rowsource ile veri alıyor.
Verisini Veriler sayfasından alıyor.
Sizin bu düzelttiğiniz kodlar ise verisini Tahsis sayfasından alıyor.
Benim naçizane tavsiyem sütun başlıkları için bu kadar uğraşmayın.
Yapın bir listbox. Sadece sütun başlıklarını ekleyin. Sütun genişliklerini
veri listelediğiniz listbox ile aynı yapın. Geçsin gitsin.
Sırf bu sütun başlıklarını eklemek yüzünden çoğu zaman
tam bir kod karmaşası yaşanıyor. Ben böyle yapıyorum hiç de kafam ağrımıyor.
Kolay gelsin.
 
Teşekkürler bilginiz için. Konu Kilit.
 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst