Makro ile yanyana 5 sütunu listboxta gösterme

Katılım
24 Temmuz 2007
Mesajlar
338
Excel Vers. ve Dili
2003
arkadaşlar Ömer Hocanın namı diğer (espiyonalj ) in bir örneğini kendi formuma uygulamaya çalışırken bazı sıkıntılar yaşadım.Aşağıdaki koda nasıl bir ilave yapmalıyım ki listbox ta 5 sütunu yani A1 D1 arası görünsün ve yazılan saat saat formatında ayrıca mümkün ise sonraki 3 güne ait tarihler listelensin mesela bu gün 23.12.2009 iken 26.12.2009 olanlar listboxta görünsün .

Option Explicit

Private Declare Function PlayIt Lib "winmm.dll" Alias "sndPlaySoundA" _
(ByVal lpszSoundName As String, ByVal uFlags As Long) As Long

Private Sub UserForm_Initialize()
Dim X As Long, Satır As Long

Me.Caption = " İHALELER"

For X = 1 To Range("A65536").End(3).Row
If Cells(X, 1) >= Date Then

ListBox1.ColumnCount = 5
With ListBox1
.AddItem
.List(Satır, 0) = Format(Cells(X, 1), "dd.mm.yyyy")
.List(Satır, 2) = Cells(X, 2)
Satır = Satır + 1

End With
End If
Next
Call PlayIt("C:\Windows\Media\Tada.wav ", 1)
End Sub


ayrıca aşağıdaki kod ile başka sayfalarda A sütununu dikkate alarak alfabetik sıralama yapaıyor iken bu sayfada yapamıyorum

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [D: D]) Is Nothing Then Exit Sub
SonSatır = [A65536].End(3).Row
Range("A2: D" & SonSatır).Sort key1:=[A1]
End Sub


örnek dosyam ekte
 

Ekli dosyalar

Son düzenleme:

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
Dosyanız ektedir.:cool:
Kod:
Private Sub UserForm_Initialize()
    Dim X As Long, Satır As Long
    
    Me.Caption = "                                                           İHALELER"
    
    For X = 2 To Range("A65536").End(3).Row
        If Cells(X, 1).Value >= Date + 3 Then
        
            With ListBox1
                .AddItem
                .List(Satır, 0) = Format(Cells(X, 1), "dd.mm.yyyy")
                .List(Satır, 1) = Format(Cells(X, 2), "hh:mm:ss")
                .List(Satır, 2) = Cells(X, 3).Value
                .List(Satır, 3) = Cells(X, 4).Value
                
                 Satır = Satır + 1
                 
            End With
        End If
    Next
    Call PlayIt("C:\Windows\Media\Tada.wav ", 1)
End Sub
 

Ekli dosyalar

Katılım
24 Temmuz 2007
Mesajlar
338
Excel Vers. ve Dili
2003
Hocam eline sağlık listboxt listelemesi istediğim gibi olmuş ancak listboxta görünmesi istediğim tarihlerde sıkıntı var şöyleki bugün 24.12.2009 list boxta sadece 27.12.2009 tarihine ilişkin bilgiler görünsün istiyorum.sizin verdiğiniz kodlar 27.12.2009 tarihinden itibaren başlayarak ne kadar tarih varsa alt alta sıralıyor .
Birde excel sayfasındaki mevcut olan eski bilgilerimi silip yeni bilgiler girdiğimde listboxta bilgiler görünmüyor
örneğin şöyl eolsun

27.12.2009 10:00 x x
27.12.2009 11:00 x x
27.12.2009 12:00 x x gibi
 

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
Kodları Aşağıdakiler ile değiştiriniz.:cool:
diğer konu shhow model özelliği falsemi yaptınız o zaman kodları activate olayına yazınız
Kod:
Private Sub UserForm_Initialize()
    Dim X As Long, Satır As Long
    
    Me.Caption = "                                                           İHALELER"
    
    For X = 2 To Range("A65536").End(3).Row
        If Cells(X, 1).Value = Date + 3 Then
        
            With ListBox1
                .AddItem
                .List(Satır, 0) = Format(Cells(X, 1), "dd.mm.yyyy")
                .List(Satır, 1) = Format(Cells(X, 2), "hh:mm:ss")
                .List(Satır, 2) = Cells(X, 3).Value
                .List(Satır, 3) = Cells(X, 4).Value
                
                 Satır = Satır + 1
                 
            End With
        End If
    Next
    Call PlayIt("C:\Windows\Media\Tada.wav ", 1)
End Sub
 
Üst