TextBox ile ListBox Üzerinde Sayı Gösterme

Sn. @bilisim2010

TextBox'a sadece userformun açılışında bir veri alıyorsanız ve TextBox içeriği hiç değişmeyecekse Inıtalize olayına,
yok eğer userformu kullanırken içeriği değiştiriliyorsa, bu verinin TextBox'a alınması sırasında şöyle bir işlem yaparak deneyin.

TextBox1.Value = Format( aldığınız sayısal veri , "#,##0")
 
Sn. @bilisim2010

TextBox'a sadece userformun açılışında bir veri alıyorsanız ve TextBox içeriği hiç değişmeyecekse Inıtalize olayına,
yok eğer userformu kullanırken içeriği değiştiriliyorsa, bu verinin TextBox'a alınması sırasında şöyle bir işlem yaparak deneyin.

TextBox1.Value = Format( aldığınız sayısal veri , "#,##0")
ömer bey ben yanlış ifade etmişim textbox ile yazacağıma texbox a veri çağırıyorum yazmışım textbox ile listbox a aşağıdaki formül ile stok adına göre sayfadan veri çekiyorum rakamları yuvarlamıyor demek istiyorum excel boyutu biraz fazla olduğundan buraya atamadım kusura bakmayın ekte dosyada gördüğünüz gibi tutarları küsüratlı getiriyor listboxa örneğin en baştaki 274.150 olması lazım yanındaki diğer rakamlar fazlalık

Private Sub TextBox1_Change()
Dim S1 As Worksheet, Veri As Variant, Son As Long
Dim Ad As String, aranan As String, X As Long, say As Long

Set S1 = Sheets("Sheet3")

Son = S1.Cells(S1.Rows.Count, 1).End(3).Row
Veri = S1.Range("A14:M" & Son).Value

ReDim liste(1 To UBound(Veri, 2), 1 To 1)

On Error Resume Next
ListBox1.Clear
ListBox1.RowSource = ""
On Error GoTo 0

If TextBox1 <> "" Then
For X = LBound(Veri) To UBound(Veri)
Ad = UCase(Replace(Replace(Veri(X, 2), "ı", "I"), "i", "İ"))
aranan = UCase(Replace(Replace(TextBox1, "ı", "I"), "i", "İ"))
If Ad Like "*" & aranan & "*" Then
say = say + 1
For Y = 1 To UBound(Veri, 2)
ReDim Preserve liste(1 To UBound(Veri, 2), 1 To say)
liste(Y, say) = Veri(X, Y)
Next
End If
Next
If say > 0 Then
ListBox1.ColumnCount = 13
ListBox1.ColumnWidths = "75;380;75;75;75;75;120;75;75;75;75;75;75;75"
ListBox1.ColumnHeads = False
ListBox1.Column = liste

End If
Else


End If
End Sub
 
Ekli dosyalar
  • Adsız.webp
    Adsız.webp
    44 KB · Görüntüleme: 5
Sn. @bilisim2010

TextBox'a sadece userformun açılışında bir veri alıyorsanız ve TextBox içeriği hiç değişmeyecekse Inıtalize olayına,
yok eğer userformu kullanırken içeriği değiştiriliyorsa, bu verinin TextBox'a alınması sırasında şöyle bir işlem yaparak deneyin.

TextBox1.Value = Format( aldığınız sayısal veri , "#,##0")
ömer bey birde bu formülde başlık ilk harfi yazınca geliyor ama 2. ve 3. harfleri yazınca başlık kayboluyor bunu nasıl düzeltirim

Private Sub TextBox1_Change()
Dim S1 As Worksheet, Veri As Variant, Son As Long
Dim Ad As String, aranan As String, X As Long, say As Long

Set S1 = Sheets("Sheet3")

Son = S1.Cells(S1.Rows.Count, 1).End(3).Row
Veri = S1.Range("A14:M" & Son).Value

ReDim liste(1 To UBound(Veri, 2), 1 To 1)

On Error Resume Next
ListBox1.Clear
ListBox1.RowSource = ""
On Error GoTo 0

If TextBox1 <> "" Then
For X = LBound(Veri) To UBound(Veri)
Ad = UCase(Replace(Replace(Veri(X, 2), "ı", "I"), "i", "İ"))
aranan = UCase(Replace(Replace(TextBox1, "ı", "I"), "i", "İ"))
If Ad Like "*" & aranan & "*" Then
say = say + 1
For Y = 1 To UBound(Veri, 2)
ReDim Preserve liste(1 To UBound(Veri, 2), 1 To say)
liste(Y, say) = Veri(X, Y)
Next
End If
Next
If say > 0 Then
ListBox1.ColumnCount = 13
ListBox1.ColumnWidths = "75;380;75;75;75;75;120;75;75;75;75;75;75;75"
ListBox1.ColumnHeads = False
ListBox1.Column = liste

End If
Else


End If
End Sub
 
Mesaj metninde;
-- KOD paylaşmak için, cevap yazma alanının hemen üstündeki </> simgesini,
-- FORMÜL paylaşmak için ise cevap yazma alanının hemen üstündeki f(x) simgesini kullanırsanız iyi olur.

Bu tür sorularınızı; kod vererek değil, kodların içerisinde olduğu,
paylaşılmasında sakınca olabilecek özel bilgilerin olmadığı (bunların yerine iç tutarlılığı olan başka veriler yazarsınız)
örnek belge üzerinden sormanızda yarar var.
 
Mesaj metninde;
-- KOD paylaşmak için, cevap yazma alanının hemen üstündeki </> simgesini,
-- FORMÜL paylaşmak için ise cevap yazma alanının hemen üstündeki f(x) simgesini kullanırsanız iyi olur.

Bu tür sorularınızı; kod vererek değil, kodların içerisinde olduğu,
paylaşılmasında sakınca olabilecek özel bilgilerin olmadığı (bunların yerine iç tutarlılığı olan başka veriler yazarsınız)
örnek belge üzerinden sormanızda yarar var.
tamamdır baran bey şimdi örnek dosyayı hazırlayayım ozaman yeni boş bir excele
 
Mesaj metninde;
-- KOD paylaşmak için, cevap yazma alanının hemen üstündeki </> simgesini,
-- FORMÜL paylaşmak için ise cevap yazma alanının hemen üstündeki f(x) simgesini kullanırsanız iyi olur.

Bu tür sorularınızı; kod vererek değil, kodların içerisinde olduğu,
paylaşılmasında sakınca olabilecek özel bilgilerin olmadığı (bunların yerine iç tutarlılığı olan başka veriler yazarsınız)
örnek belge üzerinden sormanızda yarar var.
merhaba baran bey dosya ektedir stok ara ile SR yazsanız listboxa geliyor veriler oradaki tutarları yuvarlamak istiyorum tek istediğim bu tşkler
 
Ekli dosyalar
@bilisim2010
TextBox1_Change kod blokunda ilgili satırı şöyle değiştirin.
liste(Y, say) = Format(Veri(X, Y), "#,##0")
tamam istediğim gibi oldu yalnız yan taraftaki depolar da noktadan sonra 3 haneye çıktı onları tek hane olarak nasıl gösterebilirim? ayrıca A13 yapıp başlıktan aldığımda ilk harfi arattığımda başlıklar geliyor ancak 2. veya 3. harfi yazdığımda başlıklar kayboluyor...
 
Son düzenleme:
"noktadan sonra 3 haneye çıktı" kısmını anlamadım.
Durumu görebilmem için ekran görüntüsü ekleyin ki anlayabileyim.

Denemelerinizi eklediğiniz örnek belge üzerinde yapıyorsunuz değil mi?
Çünkü ben bir sorun göremiyorum.
 
"noktadan sonra 3 haneye çıktı" kısmını anlamadım.
Durumu görebilmem için ekran görüntüsü ekleyin ki anlayabileyim.

Denemelerinizi eklediğiniz örnek belge üzerinde yapıyorsunuz değil mi?
Çünkü ben bir sorun göremiyorum.
Evet örnek belge ile yapıyorum sayfadan bu depoları gizlemişim açabilirsiniz depo verileri ondalık kesirli değil tamsayı
 
Ekli dosyalar
  • Adsız.webp
    Adsız.webp
    158.5 KB · Görüntüleme: 6
Benim bilgisayarımdaki ekran görüntüsü şöyle:

Ekli dosyayı görüntüle 20537
hocam ben virgülü nokta yapıyorum verdiğiniz formüldeki virgülü nokta yapınca küsüratlarda çıkıyor bana lazım olan küsüratlı rakamlar yani 1. stok 961 değilde 961.280 çıkması lazım nokta yapınca çıkıyor ama stok kodu yada depolarıda noktadan sonra 000 diye gösteriyor benim resimde olduğu gibi
 
yav sen yanlış anlarmısın hocam sen adammmmsın adam çok teşekkür ederim elazığdan sevgiler
hocam son bir sorum daha olucak çok özür dilerim aslında yazmıştım sanırım görmediniz bu textbox ile ararken ilk harfi yazınca başlık geliyor A13 den alırken 2. harfde başlık kayboluyor onu nasıl düzeltiriz aynı örnekten formüldeki Veri = S1.Range("A14:M" & Son).Value A13:M yaparsanız başlık gelir test için
 
Geri
Üst