• DİKKAT !

    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 Dosya Yükleme 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

Yeni Üye
Katılım
19 Haz 2022
Mesajlar
673
Çözümler
3
Aldığı beğeni
128
Excel V
Office 2021 TR
Konu Sahibi
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.
 
Çö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
Konu Sahibi
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
Konu Sahibi
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
 
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.
 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst