[Yardım]  Listboxda Başlık Kayması

Verilerinizi listeleyebileceğiniz liste kutusu

Listboxda Başlık Kayması

İleti#1)  alibuyuk66 » 08 Nis 2021 09:47

Merhaba Arkadaşlar.
Örnekteki çalışmada listbox2 deki veriye tıklayınca listboxta1 deki listede başlıkarda aşağı doru kayma oluşuyor.
Textboxlardan arama yaptığımda düzeliyor. Ben düzeltemedim bir türlü Yardımınızı rica ederim.

Kod: Tümünü seç
Private Sub ListBox2_Click()
Dim fdl, k As Integer
Dim deg1, deg2 As String

Set sf = Sheets("stok")
f = ListBox2.List(ListBox2.ListIndex, 0)
ListBox1.RowSource = vbNullString
ListBox1.ColumnCount = 10
ListBox1.ColumnWidths = "70;200;40;40;40;40;80;50;50;60"
ReDim fdl(1 To 10, 1 To 1)
a = a + 1
ReDim Preserve fdl(1 To 10, 1 To a)
For k = 1 To 10
fdl(k, a) = sf.Cells(1, k)
Next k
a = a + 1
ReDim Preserve fdl(1 To 10, 1 To a)
For k = 1 To 10
fdl(k, a) = ""
Next k
For i = 2 To sf.Cells(65536, "A").End(xlUp).Row
deg1 = UCase(Replace(Replace(f, "ı", "I"), "i", "İ"))
deg2 = UCase(Replace(Replace(sf.Cells(i, "A"), "ı", "I"), "i", "İ"))
If deg1 = deg2 Then
a = a + 1
ReDim Preserve fdl(1 To 10, 1 To a)
For k = 1 To 10
fdl(k, a) = sf.Cells(i, k)
Next k
End If
Next i
If a > 0 Then ListBox1.Column = fdl
Erase fdl
For e = 0 To ListBox1.ListCount - 1 ' TARİH İLE FİLTRELENDİĞİ ZAMAN LİSTEBOXA GELEN 7 VE 8. SÜTUNDAKİ FİLTRELENE TOPLAMINI TEKBOXLARA YAZAR BAŞLANGIÇ
t1 = CDbl(Val(ListBox1.List(e, 2))) + CDbl(Val(t1))
t2 = CDbl(Val(ListBox1.List(e, 3))) + CDbl(Val(t2))
t3 = CDbl(Val(ListBox1.List(e, 4))) + CDbl(Val(t3))
Next e
TextBox25.Text = Format(t1, 0) & " Ad"
TextBox26.Text = Format(t2, 0) & " Ad"
TextBox27.Text = Format(t3, 0) & " Ad" ' TARİH İLE FİLTRELENDİĞİ ZAMAN LİSTEBOXA GELEN 7 VE 8. SÜTUNDAKİ FİLTRELENE TOPLAMINI TEKBOXLARA YAZAR BİTİŞ
ComboBox3.Text = ""
TextBox4.Text = ""
TextBox3.Text = ""
TextBox8.Text = ""
TextBox9.Text = ""

TextBox2.Text = ""
ComboBox2.Text = ""
ComboBox1.Text = ""
ComboBox4.Text = ""
CommandButton2.Enabled = False
'Set sf = Nothing
End Sub
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
alibuyuk66
Siteye Alışmış
 
Adı Soyadı:ali büyük
Kayıt: 25 Ağu 2012 22:16
İleti: 135
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: urfa

Cevap: Listboxda Başlık Kayması

İleti#2)  halily » 08 Nis 2021 10:12

aslında kayma yok
listboxlar değeri diziden alırken başlığı kullanamazlar diye biliyorum bu durumda ya başlık yerine etiket kullanırsınız ve değerleri alırken ilk satırı ve
Kod: Tümünü seç
For k = 1 To 10
fdl(k, a) = ""
Next k
kod blogunu iptal edersiniz yada 2. bir yöntemle pek benzemese de başlıkmış hissi uyandıran bir hileye baş vurabilirsiniz aşağıdaki kod gibi
Kod: Tümünü seç
Private Sub ListBox2_Click()
Dim fdl, k As Integer
Dim deg1, deg2 As String

Set sf = Sheets("stok")
f = ListBox2.List(ListBox2.ListIndex, 0)
ListBox1.RowSource = vbNullString
ListBox1.ColumnCount = 10
ListBox1.ColumnWidths = "70;200;40;40;40;40;80;50;50;60"
ReDim fdl(1 To 10, 1 To 1)
a = a + 1
ReDim Preserve fdl(1 To 10, 1 To a)
For k = 1 To 10
fdl(k, a) = "|" & sf.Cells(1, k)
Next k
a = a + 1
ReDim Preserve fdl(1 To 10, 1 To a)
For k = 1 To 10
fdl(k, a) = "______________________________________________"
Next k
For i = 2 To sf.Cells(65536, "A").End(xlUp).Row
deg1 = UCase(Replace(Replace(f, "ı", "I"), "i", "İ"))
deg2 = UCase(Replace(Replace(sf.Cells(i, "A"), "ı", "I"), "i", "İ"))
If deg1 = deg2 Then
a = a + 1
ReDim Preserve fdl(1 To 10, 1 To a)
For k = 1 To 10
fdl(k, a) = sf.Cells(i, k)
Next k
End If
Next i

ListBox1.ColumnHeads = False
If a > 0 Then ListBox1.Column = fdl
Erase fdl
For e = 0 To ListBox1.ListCount - 1 ' TARİH İLE FİLTRELENDİĞİ ZAMAN LİSTEBOXA GELEN 7 VE 8. SÜTUNDAKİ FİLTRELENE TOPLAMINI TEKBOXLARA YAZAR BAŞLANGIÇ
t1 = CDbl(Val(ListBox1.List(e, 2))) + CDbl(Val(t1))
t2 = CDbl(Val(ListBox1.List(e, 3))) + CDbl(Val(t2))
t3 = CDbl(Val(ListBox1.List(e, 4))) + CDbl(Val(t3))
Next e
TextBox25.Text = Format(t1, 0) & " Ad"
TextBox26.Text = Format(t2, 0) & " Ad"
TextBox27.Text = Format(t3, 0) & " Ad" ' TARİH İLE FİLTRELENDİĞİ ZAMAN LİSTEBOXA GELEN 7 VE 8. SÜTUNDAKİ FİLTRELENE TOPLAMINI TEKBOXLARA YAZAR BİTİŞ
ComboBox3.Text = ""
TextBox4.Text = ""
TextBox3.Text = ""
TextBox8.Text = ""
TextBox9.Text = ""

TextBox2.Text = ""
ComboBox2.Text = ""
ComboBox1.Text = ""
ComboBox4.Text = ""
CommandButton2.Enabled = False
'Set sf = Nothing
End Sub
eklenen satırlar
1 - başlığı alan satır
fdl(k, a) = "|" & sf.Cells(1, k) olarak değiştirildi başına "|" & eklendi
2 - Boşluk bırakma satırı
fdl(k, a) = "" yerine fdl(k, a) = "______________________________________________" ile değiştirild
3 - listbox1'in başlığını devre dışı bırakma kodu eklendi
ListBox1.ColumnHeads = False
Kullanıcı avatarı
halily
Siteye Alışmış
 
Kayıt: 23 May 2019 11:16
Meslek: yok
Yaş: 41
İleti: 400
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: adana

Cevap: Listboxda Başlık Kayması

İleti#3)  halily » 08 Nis 2021 10:16

alt tire yerine üst tire yazmak isterseniz
fdl(k, a) = "¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯" bu şekliyle daha düzgün gibi
Kullanıcı avatarı
halily
Siteye Alışmış
 
Kayıt: 23 May 2019 11:16
Meslek: yok
Yaş: 41
İleti: 400
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: adana

Cevap: Listboxda Başlık Kayması

İleti#4)  halily » 08 Nis 2021 10:18

Kod: Tümünü seç
Private Sub ListBox2_Click()
Dim fdl, k As Integer
Dim deg1, deg2 As String

Set sf = Sheets("stok")
f = ListBox2.List(ListBox2.ListIndex, 0)
ListBox1.RowSource = vbNullString
ListBox1.ColumnCount = 10
ListBox1.ColumnWidths = "70;200;40;40;40;40;80;50;50;60"
ReDim fdl(1 To 10, 1 To 1)
a = a + 1
ReDim Preserve fdl(1 To 10, 1 To a)
For k = 1 To 10
fdl(k, a) = "|" & sf.Cells(1, k) '<-- değişti
Next k
a = a + 1
ReDim Preserve fdl(1 To 10, 1 To a)
For k = 1 To 10
fdl(k, a) = "¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯" '<-- değişti
Next k
For i = 2 To sf.Cells(65536, "A").End(xlUp).Row
deg1 = UCase(Replace(Replace(f, "ı", "I"), "i", "İ"))
deg2 = UCase(Replace(Replace(sf.Cells(i, "A"), "ı", "I"), "i", "İ"))
If deg1 = deg2 Then
a = a + 1
ReDim Preserve fdl(1 To 10, 1 To a)
For k = 1 To 10
fdl(k, a) = sf.Cells(i, k)
Next k
End If
Next i

ListBox1.ColumnHeads = False '<-- Eklendi
If a > 0 Then ListBox1.Column = fdl
Erase fdl
For e = 0 To ListBox1.ListCount - 1 ' TARİH İLE FİLTRELENDİĞİ ZAMAN LİSTEBOXA GELEN 7 VE 8. SÜTUNDAKİ FİLTRELENE TOPLAMINI TEKBOXLARA YAZAR BAŞLANGIÇ
t1 = CDbl(Val(ListBox1.List(e, 2))) + CDbl(Val(t1))
t2 = CDbl(Val(ListBox1.List(e, 3))) + CDbl(Val(t2))
t3 = CDbl(Val(ListBox1.List(e, 4))) + CDbl(Val(t3))
Next e
TextBox25.Text = Format(t1, 0) & " Ad"
TextBox26.Text = Format(t2, 0) & " Ad"
TextBox27.Text = Format(t3, 0) & " Ad" ' TARİH İLE FİLTRELENDİĞİ ZAMAN LİSTEBOXA GELEN 7 VE 8. SÜTUNDAKİ FİLTRELENE TOPLAMINI TEKBOXLARA YAZAR BİTİŞ
ComboBox3.Text = ""
TextBox4.Text = ""
TextBox3.Text = ""
TextBox8.Text = ""
TextBox9.Text = ""

TextBox2.Text = ""
ComboBox2.Text = ""
ComboBox1.Text = ""
ComboBox4.Text = ""
CommandButton2.Enabled = False
'Set sf = Nothing
End Sub
Kullanıcı avatarı
halily
Siteye Alışmış
 
Kayıt: 23 May 2019 11:16
Meslek: yok
Yaş: 41
İleti: 400
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: adana

REKLAM
Excel Logo XML Oluşturucu
Logo Object Designer ile Uyarlama

Cevap: Listboxda Başlık Kayması

İleti#5)  alibuyuk66 » 08 Nis 2021 10:54

Merhaba Halil Bey.
Bu şekilde başlığa ve alttaki boş satıra tıklayınca düzenleme textboxlarına verileri çekiyor.
Bu iki satırın çift tıklanmaması gerekiyor o zaman. Nasıl olacak.
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
alibuyuk66
Siteye Alışmış
 
Adı Soyadı:ali büyük
Kayıt: 25 Ağu 2012 22:16
İleti: 135
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: urfa

Cevap: Listboxda Başlık Kayması

İleti#6)  halily » 08 Nis 2021 11:33

tıklama ve çift tıklama kodlarını aşağıdaki gibi düzenlemeyi deneyebilirsiniz
If ListBox1.ListIndex < 0 Then Exit Sub kodunun hemen altına eklenecek
Kod: Tümünü seç
If Left(ListBox1.List(ListBox1.ListIndex), 1) = "|" Or Left(ListBox1.List(ListBox1.ListIndex), 1) = "¯" Then Exit Sub
Kullanıcı avatarı
halily
Siteye Alışmış
 
Kayıt: 23 May 2019 11:16
Meslek: yok
Yaş: 41
İleti: 400
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: adana

REKLAM
ETA - Excel Konsolide Raporlama
ETA Excel Personel Entegre Raporu

Cevap: Listboxda Başlık Kayması

İleti#7)  halily » 08 Nis 2021 11:34

ben üst tire kullanmıştım eğer alt tire kullandıysanız o yazılmalı
Kullanıcı avatarı
halily
Siteye Alışmış
 
Kayıt: 23 May 2019 11:16
Meslek: yok
Yaş: 41
İleti: 400
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: adana

Cevap: Listboxda Başlık Kayması

İleti#8)  alibuyuk66 » 08 Nis 2021 13:05

Teşekkür Ederim.
Sorunumu Aşağıdaki Şekilde çözme kavuşturmam daha uygun oldu.
Yinede ellerine sağlık. Allah Razı olsun
Kod: Tümünü seç
Private Sub ListBox2_Click()
If ListBox2.ListIndex < 0 Then Exit Sub

TextBox31.Text = ListBox2.List(ListBox2.ListIndex, 0) 'listebox  1. satırdaki veriyi textbox31 yazar textbox31 change olayı yaparak listeleme yapar
End Sub


Kod: Tümünü seç
Private Sub TextBox31_Change()
Call arama
End Sub


Kod: Tümünü seç
Sub arama()
    Sheets("Stok").AutoFilterMode = False
    Application.DisplayAlerts = False
    'Application.ScreenUpdating = True
   
    On Error Resume Next
    Sheets(ad).Delete
    son = Sheets("Stok").Cells(Rows.Count, 1).End(3).Row + 1
If TextBox31 = Empty Then
    Sheets("Stok").Range("A1:J1").AutoFilter 1
    Else
Sheets("Stok").Range("A1:J1").AutoFilter 1, "=*" & TextBox31 & "*"
End If
   
If TextBox5 = Empty Then
    Sheets("Stok").Range("A1:J1").AutoFilter 2
    Else
Sheets("Stok").Range("A1:J1").AutoFilter 2, "=*" & TextBox5 & "*"
End If

If TextBox10 = Empty Then
    Sheets("Stok").Range("A1:J1").AutoFilter 9
    Else
Sheets("Stok").Range("A1:J1").AutoFilter 9, "=*" & TextBox10 & "*"
End If

If TextBox30 = Empty Then
    Sheets("Stok").Range("A1:J1").AutoFilter 10
    Else
Sheets("Stok").Range("A1:J1").AutoFilter 10, "=*" & TextBox30 & "*"
End If

If ComboBox5 = Empty Then
    Sheets("Stok").Range("A1:J1").AutoFilter 7
    Else
Sheets("Stok").Range("A1:J1").AutoFilter 7, "=*" & ComboBox5 & "*"
End If
    Worksheets.Add
    ad = ActiveSheet.Name
    Sheets(ad).Visible = False
    Sheets("Stok").Range("A1:J" & son).Copy Sheets(ad).Range("A1")
    son = Sheets(ad).Cells(Rows.Count, 1).End(3).Row
    ListBox1.RowSource = ad & "!A2:J" & son
    Sheets("Stok").AutoFilterMode = False
    Application.DisplayAlerts = True

End Sub
Kullanıcı avatarı
alibuyuk66
Siteye Alışmış
 
Adı Soyadı:ali büyük
Kayıt: 25 Ağu 2012 22:16
İleti: 135
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: urfa

Cevap: Listboxda Başlık Kayması

İleti#9)  halily » 09 Nis 2021 13:51

rica ederim
iyi çalışmalar
Kullanıcı avatarı
halily
Siteye Alışmış
 
Kayıt: 23 May 2019 11:16
Meslek: yok
Yaş: 41
İleti: 400
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: adana


Forum ListBox

Online Kullanıcılar

Bu forumu görüntüleyenler: Kayıtlı kullanıcı yok ve 1 misafir

Bumerang - Yazarkafe