Listbox da tarih sorunu

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,666
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
Merhabalar,
Çalışmam ile ilgili 2 sorum var.
1 ncisi
Aşağıdaki kod çalıştığında
Çalışma sayfamda tarih :15/11/2012
Textbox a girdiğim dğer : 15/11/2012
Lıstbox da :11/15/2012 olarak gözüküyor.
2 ncisi
Userfor açıldığında sayfadaki sutun verileri aynen olduğu gibi görülüyor.
Userform açıldığında birşey gözükmesin.
Bunu nasıl düzeltilebilirim.
Teşekkürler

Dim S1 As Worksheet, S2 As Worksheet, Veri As Range, Say As Long

Private Sub CommandButton1_Click()
End
End Sub

Private Sub CommandButton11_Click()
UserForm1.Show
End Sub

Private Sub CommandButton2_Click()
End
End Sub

Private Sub ListBox1_Click()

S1.Range("a1") = ListBox1.Value


End Sub

Private Sub TextBox1_Change()
ReDim Dizi(1 To 9, 1 To 1)

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

If TextBox1 = "" Then
UserForm_Initialize
Else
Say = 0
Set Data = S2.Range("A2:j" & S2.Cells(Rows.Count, 10).End(3).Row)
For Each Veri In Data
If Veri.Column = 4 Then
If UCase(Replace(Replace(Veri, "i", "İ"), "ı", "I")) Like _
UCase(Replace(Replace(TextBox1, "i", "İ"), "ı", "I")) & "*" Then
Say = Say + 1
ReDim Preserve Dizi(1 To 9, 1 To Say)
Dizi(1, Say) = Veri
Dizi(2, Say) = Veri.Offset(0, 5)
Dizi(3, Say) = Veri.Offset(0, 6)
Dizi(4, Say) = Veri.Offset(0, -3)
Dizi(5, Say) = Veri.Offset(0, -2)
Dizi(6, Say) = Veri.Offset(0, -1)

End If
End If
Next

If Say > 0 Then ListBox1.Column = Dizi
End If
End Sub

Private Sub UserForm_Initialize()
Set S1 = Sheets("Sayfa1")
Set S2 = Sheets("satışlar")
ListBox1.ColumnCount = 4
ListBox1.ColumnWidths = "60;25;120;200;50;35;60;50"
ListBox1.RowSource = "satışlar!A2:j" & S2.Cells(Rows.Count, 4).End(3).Row
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Set S1 = Nothing
Set S2 = Nothing
Set Data = Nothing
End Sub
 
Son düzenleme:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,191
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Diziye alınan verilerden hangisi tarih bilgisi ise onu biçimlendirmeniz yeterli olacaktır. Ben ilk verinin tarih olduğunu düşünerek aşağıdaki örneği veriyorum.

Kod:
Dizi(1, Say) = Format(Veri, "dd.mm.yyyy")
2. sorunuz için formunuzun "initialize" olayındaki aşağıdaki satırı silmeniz istediğiniz sonuca ulaşmanızı sağlayacaktır.

Kod:
ListBox1.RowSource = "satışlar!A2:j" & S2.Cells(Rows.Count, 4).End(3).Row
 

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,666
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
Sn.Korhan bey,
Çok teşekkür ederim.
İşiniz rast gitsin.
Selametle kalınız.
 

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,666
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
Korhan bey iyi geceler diyelim:)daha uygun olacak.
ilk mesajımdaki veri tarih formatı olan dizi idi.
Diğer userform da koyu olan aşağıdaki diziler tarih formatında.
Ben deneme yolu ile birşeyler yapmaya çalıştım.olmadı.
Aşağıdaki dizilerde de olması gerekeni bildirirseniz çok memnun olurum
Teşekkür ederim.
Dizi(1, Say) = Veri.Offset(0, -1)
Dizi(2, Say) = Veri
Dizi(3, Say) = Veri.Offset(0, 1)
Dizi(4, Say) = Veri.Offset(0, -9)
Dizi(5, Say) = Veri.Offset(0, -8)
Dizi(6, Say) = Veri.Offset(0, -7)
Dizi(7, Say) = Format(Veri, "dd.mm.yyyy").Offset(0, -6)
Dizi(8, Say) = Format(Veri, "dd.mm.yyyy")(0, -5)
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,191
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Aşağıdaki gibi deneyin. Yazım hatası yapıyorsunuz.

Kod:
Dizi(7, Say) = Format(Veri.Offset(0, -6), "dd.mm.yyyy")
 

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,666
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
Sn.Korhan bey,
Sizlere teşekkür etmek, yetmiyor bence.
Ne diyelim ,İşiniz rast gitsin.
Hata olarak gördüğünüz benim deneme, yanılma çalışmalarımdır.:)
Selametle kalınız.
 
Üst