run-time error ve unspecified error

Katılım
7 Kasım 2006
Mesajlar
118
Excel Vers. ve Dili
excel 2003 tr
Mrb arkadaşlar,
benim userformumda rapor almak için listboxı kullandım fakat run-time ve unspecified error veriyor. Hatanın olduğu yer şu bölüm:
Kod:
Private Sub UserForm_Initialize()
Sheets("KalanMiktar").Select

Dim i, son As Integer
ALANMUTEAHHIT.Clear
son = WorksheetFunction.CountA(Worksheets("KalanMiktar").Range("A12:A50000")) + 1


For i = 2 To son
    If WorksheetFunction.CountIf(Worksheets("KalanMiktar").Range("C13:C" & i), Worksheets("KalanMiktar").Cells(i, 3).Value) = 1 Then
        ALANMUTEAHHIT.AddItem Worksheets("KalanMiktar").Cells(i, 3)
    End If
Next i
özellikle;
Kod:
son = WorksheetFunction.CountA(Worksheets("KalanMiktar").Range("A12:A50000")) + 1
yardımcı olursanız sevinirim..
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,681
Excel Vers. ve Dili
Excel 2019 Türkçe
Küçük bir dosya ekleyin.
 
Katılım
7 Kasım 2006
Mesajlar
118
Excel Vers. ve Dili
excel 2003 tr
Sn hamitcan, ilginize teşekkür ederim,,dosyayı ekledim
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Merhabalar,

Sn.Hamitcan'ın önerisiyle, iyi ki örnek dosya eklemişsiniz. Bu sorunun çözümü için birden fazla metod veya daha doğrusu yapmak istediğiniz şeye göre değişik varsayım var.

1. Varsayım : Eğer ALANMUTEAHHIT.Clear'dan kastınız, o an Combobox'ın görünen metnini temizlemekse, komut yanlış ... Clear komutu ile Combobox'ın içeriği boşaltılır, görünen elemanı (Text) değil.

Amacınız combobox'ın kutucuğunu (text) temizlemekse; ALANMUTEAHHIT.Text=Empty veya ALANMUTEAHHIT="" diyebilirsiniz.

2. Varsayım : Eğer Combobox'ın text'ini değil de List'ini temizlemek istiyorsanız, Nesnesinin Rowsource özelliğini; C1:C5000 gibi bir aralık belirlediğinizden bunu yine yapamazsınız. Çünkü, Combobox'ın list'i (içeriği), nesnenin özelliklerinde tanımlanmış ve bunu silemezsiniz. Eğer, nesneye Additem'le eleman ekleseydiniz veya List'ine bir array değişken gösterseydiniz, ALANMUTEAHHIT.Clear komutunda hata vermezdi.

Bu varsayımla, eğer Combox'ın listesini değiştirmek istiyorsanız, bu komut yerine, ALANMUTEAHHIT.Rowsource="B1:B5000" demeniz gerekecekti.
 
Katılım
7 Kasım 2006
Mesajlar
118
Excel Vers. ve Dili
excel 2003 tr
Sn fpc,, teşekkür ederim öncelikle,,ben
Kod:
ALANMUTEAHHIT.Clear
kodunu
Kod:
ALANMUTEAHHIT.Text = Empty
olarak değiştirdim ve program çalıştı yalnız comboboxa "KalanMiktar" sayfasından değerler gelmiyor, yani combobox boş bunu nasıl çözebilirim acaba?
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Initialize kodunuzu aşağıdaki gibi değiştirin.

Kod:
Private Sub UserForm_Initialize()
Dim i, son As Integer
Sheets("KalanMiktar").Select
[COLOR=black]ALANMUTEAHHIT = Empty
son = WorksheetFunction.CountA(Worksheets("KalanMiktar").Range("A13:A50000")) + 1
ALANMUTEAHHIT.RowSource = ""[/COLOR]
For i = 12 To son + 11
    If WorksheetFunction.CountIf(Worksheets("KalanMiktar").Range("C12:C" & i), Worksheets("KalanMiktar").Cells(i, 3).Value) = 1 Then
        ALANMUTEAHHIT.AddItem Worksheets("KalanMiktar").Cells(i, 3)
    End If
Next i
End Sub
 
Katılım
7 Kasım 2006
Mesajlar
118
Excel Vers. ve Dili
excel 2003 tr
Sn fpc, dediğinizi yaptım ve combobboxın içi doldu,,seçip rapora bastığımda
Kod:
ListBox1.Column(11, i - 1) = muteahhit.Offset(0, 10)
kodunda hata veriyor fakat listeye getiriyor seçileni. durum bu,ne yapabilirim?
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Caption'ında "Rapor" yazan butonun click olay kodlarını aşağıdaki gibi revize ediniz.

Not : Listbox'a Additem yöntemiyle; 10'dan daha fazla sütun ilave edemezsiniz...

Kod:
Private Sub CommandButton1_Click()
Dim shK As Worksheet
Dim arrVeri()
Dim i%, y%, j%, x%
Set shK = Sheets("KalanMiktar")
For i = 12 To shK.Cells(65536, 3).End(xlUp).Row
    If shK.Cells(i, 3) = ALANMUTEAHHIT.Text Then: y = y + 1
Next i
ReDim arrVeri(1 To y, 1 To 16)
ListBox1.Clear
For i = 12 To shK.Cells(65536, 3).End(xlUp).Row
    If shK.Cells(i, 3) = ALANMUTEAHHIT Then
       x = x + 1
       With shK
            For j = 1 To 16
               arrVeri(x, j) = .Cells(i, j)
            Next j
       End With
   End If
Next i
ListBox1.List = arrVeri
End Sub
 
Katılım
7 Kasım 2006
Mesajlar
118
Excel Vers. ve Dili
excel 2003 tr
Sn fpc,,kodu dediğiniz şekilde değiştirdim,,rapora tıkladığımda listboxa değerler geliyor, sayfaya yaz dediğimde hata veriyor şurda:
Kod:
Next
If MsgBox(ListBox1.ListCount & " kayıt FirmayaGöreRapor sayfasına aktarıldı" & Chr(10) & "Görmek ister misiniz?", vbYesNo) = vbNo Then Exit Sub
yinede programı durdurduğumda sayfaya yazmış oluyor. size zahmet oluyor, yardımlarınız için gerçekten çok teşekkürler.
 
Katılım
7 Kasım 2006
Mesajlar
118
Excel Vers. ve Dili
excel 2003 tr
Birde birşey daha sormak istiyorum,,benim programımda sadece frmfirma yok, aynı şey 3 tane daha ayrı form için geçerli fakat size yine ekte yollamak istiyorum,, uyarladığımda frmfirma çalışıyor üstte yazdığım gibi fakat diğerlerinin değerleri comboboxa gelmiyor,,yardımcı olursnız sevinirim.
 
Üst