Soru Combobox ile sayfa seçiminde listview1'e veri alamıyorum.

Katılım
12 Ocak 2009
Mesajlar
838
Excel Vers. ve Dili
2003
Altın Üyelik Bitiş Tarihi
07-02-2024
Merhaba arkadaşlar.
Konu başlığında da belirttiğim üzere userformda bulunan combobox5 ile sekmeler arası seçim yapıyorum ancak geçiş yaptığım sekmeden userformda bulunan listview1'e veri alamıyorum.
Normalde listview1'e bu kod ile veri alıyorum.
Kod:
Set sh = Sheets("OCAK 2020")
son = sh.Cells(65536, 2).End(xlUp).Row
Burada sekme adını combobox5'e bağladığımda hata veriyor, burasını geçemedim.
Kod:
Set sh = Sheets(ComboBox5.Text).Select
son = sh.Cells(65536, 2).End(xlUp).Row
Yardımcı olacak arkadaşlara teşekkür ederim.
 

Ekli dosyalar

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Burada select ifadesini kaldırıp deneyin.
Kod:
Set sh = Sheets(ComboBox5.Text).Select
 
Katılım
12 Ocak 2009
Mesajlar
838
Excel Vers. ve Dili
2003
Altın Üyelik Bitiş Tarihi
07-02-2024
Burada select ifadesini kaldırıp deneyin.
Kod:
Set sh = Sheets(ComboBox5.Text).Select
Teşekkür ederim evren hocam.
Konuyu açmadan önce de denemiştim, şimdi tekrar dediğiniz şekilde denedim. Hata aynen devam ediyor.221888
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
comboboxtan seçtiğiniz sayfa dosyanızda yok.:cool:
 
Katılım
12 Ocak 2009
Mesajlar
838
Excel Vers. ve Dili
2003
Altın Üyelik Bitiş Tarihi
07-02-2024
comboboxtan seçtiğiniz sayfa dosyanızda yok.:cool:
Hocam dosyamı tamamlamadım. Dolayısıyla combobox5'te listelenen isimlerin tamamına ait sekmeleri oluşturmadım. Kodların hata verip vermeyeceğini görmek için 3 sekme oluşturdum.
OCAK 2020, ŞUBAT 2020, MART 2020 şeklinde. Şayet hata bundan dolayı geliyorsa eksik sekmeleri oluşturmak kolay.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Oluşturmadığınız sekmeyi seçmeyin.
Öyle bir deneyin.:cool:
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Hata vermeye devem ediyormu?
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Yarın vaktim olursa bakarım.
 
Katılım
15 Aralık 2008
Mesajlar
202
Excel Vers. ve Dili
excel 2010
Dim syf as Worksheet
syf = Combobox5.Text
Set sh = syf
son = sh.Cells(65536, 2).End(xlUp).Row

şeklinde dener misiniz
 
Katılım
12 Ocak 2009
Mesajlar
838
Excel Vers. ve Dili
2003
Altın Üyelik Bitiş Tarihi
07-02-2024
Dosyanız ektedir.:cool:
Hocam elinize emeğinize sağlık.
Şu iki kod arasındaki farkı anlayamadım, buradaki espri nedir hocam. Normalde UserForm_Initialize kod bloğunda hata verirken diğer kod bloğunda hata vermeden çalıştı.
Kod:
Private Sub UserForm_Initialize()
With Me.ListView1
  .Gridlines = True
  .FullRowSelect = True
  .View = lvwReport
  .ListItems.Clear
  .ColumnHeaders.Clear

End With
With ListView1
.View = lvwReport
.ColumnHeaders.Add , , "no ", 0
.ColumnHeaders.Add , , "S.NO", 30, lvwColumnCenter
.ColumnHeaders.Add , , "TARİH", 60, lvwColumnCenter
.ColumnHeaders.Add , , "KATEGORİ", 50, lvwColumnCenter
.ColumnHeaders.Add , , "ALT KATEGORİ", 70, lvwColumnCenter
.ColumnHeaders.Add , , "HARCAMA TÜRÜ", 70, lvwColumnCenter
.ColumnHeaders.Add , , "HARCAMA KALEMİ", 80, lvwColumnCenter
.ColumnHeaders.Add , , "HARCAMA TUTARI", 80, lvwColumnCenter
.ColumnHeaders.Add , , "TAKSİT TUTARI", 70, lvwColumnCenter
.ColumnHeaders.Add , , "TAKSİT SAYISI", 70, lvwColumnCenter
.ColumnHeaders.Add , , "ÖDENEN TAKSİT", 70, lvwColumnCenter
.ColumnHeaders.Add , , "KALAN TAKSİT", 70, lvwColumnCenter
.ColumnHeaders.Add , , "KALAN TUTAR", 70, lvwColumnCenter

.FullRowSelect = True
.Gridlines = True
End With

Set sh = Sheets(ComboBox5.Value)
son = sh.Cells(65536, 2).End(xlUp).Row
ListView1.ListItems.Clear
For i = 2 To son
If sh.Cells(i, 2) <> "" Then
Set L = ListView1.ListItems.Add

L.Text = i
L.SubItems(1) = sh.Cells(i, 1) 'tarih
L.SubItems(2) = sh.Cells(i, 2) 'kategori
L.SubItems(3) = sh.Cells(i, 3) 'alt kategori
L.SubItems(4) = sh.Cells(i, 4) 'harcama türü
L.SubItems(5) = sh.Cells(i, 5) 'harcama kalemi
L.SubItems(6) = sh.Cells(i, 6) 'tutarı
L.SubItems(7) = sh.Cells(i, 7) 'taksit sayısı
L.SubItems(8) = sh.Cells(i, 8) 'ödenen taksit
L.SubItems(9) = sh.Cells(i, 9) 'kalan taksit
L.SubItems(10) = sh.Cells(i, 10) 'kalan tutar
L.SubItems(11) = sh.Cells(i, 11) 'kalan borç

End If
Next i

For i = 1 To 12
    ComboBox5.AddItem Format(DateSerial(Year(Date), i, 1), "mmmm yyyy")
Next i
ComboBox5.ListIndex = 0

TextBox7.Value = WorksheetFunction.Count(Range("A1:A65500")) + 1
End Sub
Kod:
Private Sub UserForm_Initialize()

With Me.ListView1
  .Gridlines = True
  .FullRowSelect = True
  .View = lvwReport
  .ListItems.Clear
  .ColumnHeaders.Clear

End With
With ListView1
.View = lvwReport
.ColumnHeaders.Add , , "no ", 0
.ColumnHeaders.Add , , "S.NO", 30, lvwColumnCenter
.ColumnHeaders.Add , , "TARİH", 60, lvwColumnCenter
.ColumnHeaders.Add , , "KATEGORİ", 50, lvwColumnCenter
.ColumnHeaders.Add , , "ALT KATEGORİ", 70, lvwColumnCenter
.ColumnHeaders.Add , , "HARCAMA TÜRÜ", 70, lvwColumnCenter
.ColumnHeaders.Add , , "HARCAMA KALEMİ", 80, lvwColumnCenter
.ColumnHeaders.Add , , "HARCAMA TUTARI", 80, lvwColumnCenter
.ColumnHeaders.Add , , "TAKSİT TUTARI", 70, lvwColumnCenter
.ColumnHeaders.Add , , "TAKSİT SAYISI", 70, lvwColumnCenter
.ColumnHeaders.Add , , "ÖDENEN TAKSİT", 70, lvwColumnCenter
.ColumnHeaders.Add , , "KALAN TAKSİT", 70, lvwColumnCenter
.ColumnHeaders.Add , , "KALAN TUTAR", 70, lvwColumnCenter

.FullRowSelect = True
.Gridlines = True
End With

For i = 1 To 12
    ComboBox5.AddItem Format(DateSerial(Year(Date), i, 1), "mmmm yyyy")
Next i
ComboBox5.ListIndex = 0

Call listele
TextBox7.Value = WorksheetFunction.Count(Range("A1:A65500")) + 1
End Sub
Kod:
Sub listele()

Set sh = Sheets(ComboBox5.Value)
son = sh.Cells(65536, 2).End(xlUp).Row
ListView1.ListItems.Clear
For i = 2 To son
If sh.Cells(i, 2) <> "" Then
Set L = ListView1.ListItems.Add

L.Text = i
L.SubItems(1) = sh.Cells(i, 1) 'tarih
L.SubItems(2) = sh.Cells(i, 2) 'kategori
L.SubItems(3) = sh.Cells(i, 3) 'alt kategori
L.SubItems(4) = sh.Cells(i, 4) 'harcama türü
L.SubItems(5) = sh.Cells(i, 5) 'harcama kalemi
L.SubItems(6) = sh.Cells(i, 6) 'tutarı
L.SubItems(7) = sh.Cells(i, 7) 'taksit sayısı
L.SubItems(8) = sh.Cells(i, 8) 'ödenen taksit
L.SubItems(9) = sh.Cells(i, 9) 'kalan taksit
L.SubItems(10) = sh.Cells(i, 10) 'kalan tutar
L.SubItems(11) = sh.Cells(i, 11) 'kalan borç

End If
Next i

TextBox7.Value = WorksheetFunction.Count(Range("A1:A65500")) + 1
End Sub
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Comboboxta sayfalar listelenmiyordu.
Ben listele diye bir prosedür yazdım.O prosedure göre listeleme yapıyorum.:cool:
 
Üst