• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Msgbox yerine UserForm_Initialize() kullanmak

Katılım
17 Haziran 2006
Mesajlar
348
Excel Vers. ve Dili
2003 - TR / 2007 - TR
Merhabalar...


Sn. Cost_Control'ün hazırladığı bir kodu kendine uyarladım..
Aşağıda tarihi geçen siparişleri sayfa aktif olduğunda gösteren kodlar var.
İstediğim ise bu kodların msgbox yerine Userform_Initialize() olarak gelmesi mümkünmüdür? Teşekkürler...

Private Sub Worksheet_Activate()
Dim SAY As Long
Set S1 = Sheets("İŞ PLANI")
SAY = WorksheetFunction.CountIf(S1.[G2:G65536], Date)
If SAY > 0 Then GoTo SON
For X = 2 To S1.[G65536].End(3).Row
If Cells(X, 7) < Date Then
S&#304;PAR&#304;&#350;LER = S&#304;PAR&#304;&#350;LER & Cells(X, 1) & " _ " & Cells(X, 2) & " _ " & Cells(X, 3) & " _ " _
& Cells(X, 4) & " _ " & Cells(X, 7) & " _ " & Format(Cells(X, 8), "00####") & " _ " _
& Format(Cells(X, 9), "0####") & " _ " & Cells(X, 10) & vbCrLf
End If
Next
MsgBox S&#304;PAR&#304;&#350;LER & vbCrLf & "TAR&#304;H&#304; GE&#199;EN S&#304;PAR&#304;&#350;LER&#304;N&#304;Z ", vbCritical, "UYARI"
Exit Sub
SON: MsgBox "TAR&#304;H&#304; GE&#199;EN S&#304;PAR&#304;&#350;&#304;N&#304;Z BULUNMAMAKTADIR.", vbInformation

End Sub
 
Son düzenleme:
Userforma 3 tane label ekleyiniz.Ve Userforma aşağıdaki kodları yapıştırıp deneyiniz.
Sonrada thisworkbook sheetactivate olayına UserForm1.Show kodunu giriniz.
Kod:
Private Sub UserForm_Initialize()
Dim SAY As Long
Set S1 = Sheets("İŞ PLANI")
SAY = WorksheetFunction.CountIf(S1.[G2:G65536], Date)
If SAY > 0 Then GoTo SON
For X = 2 To S1.[G65536].End(3).Row
If Cells(X, 7) < Date Then
SİPARİŞLER = SİPARİŞLER & Cells(X, 1) & " _ " & Cells(X, 2) & " _ " & Cells(X, 3) & " _ " _
& Cells(X, 4) & " _ " & Cells(X, 7) & " _ " & Format(Cells(X, 8), "00####") & " _ " _
& Format(Cells(X, 9), "0####") & " _ " & Cells(X, 10) & vbCrLf
TOPLAM = Format(TOPLAM + Cells(X, 7), "#,##0.00 YTL")
End If
Next
Label1.Caption = SİPARİŞLER
Label2.Caption = "TARİHİ GEÇEN SİPARİŞLERİNİZ : "
Label3.Caption = Format(TOPLAM, "#,##0.00 YTL")
Exit Sub
SON: MsgBox "TARİHİ GEÇEN SİPARİŞİNİZ BULUNMAMAKTADIR.", vbInformation
End Sub
 
Sn. Orion2

Öncelikle teşekkürler, bu şekilde hallettim, bir ricam daha olacak mümkünse...

SİPARİŞLER = SİPARİŞLER & Cells(X, 1) & " _ " & Cells(X, 2) & " _ " & Cells(X, 3) & " _ " _
& Cells(X, 4) & " _ " & Cells(X, 7) & " _ " & Format(Cells(X, 8), "00####") & " _ " _
& Format(Cells(X, 9), "0####") & " _ " & Cells(X, 10) & vbCrLf

...kullanılan kodların yerine bu sütunları excel sayfasında olduğu gibi yapmak istiyorum. Tekrar teşekkürler..
 
Sn. Orion2

Öncelikle teşekkürler, bu şekilde hallettim, bir ricam daha olacak mümkünse...

SİPARİŞLER = SİPARİŞLER & Cells(X, 1) & " _ " & Cells(X, 2) & " _ " & Cells(X, 3) & " _ " _
& Cells(X, 4) & " _ " & Cells(X, 7) & " _ " & Format(Cells(X, 8), "00####") & " _ " _
& Format(Cells(X, 9), "0####") & " _ " & Cells(X, 10) & vbCrLf

...kullanılan kodların yerine bu sütunları excel sayfasında olduğu gibi yapmak istiyorum. Tekrar teşekkürler..
Konuyu örnekleyerek açarmısınız.
Yada küçük bir örnek dosya yollayınız ve o dosya üzerinde açıklama yapınız ve dosyayı ekleyiniz.:cool:
 
cells(x,1).value gibi formatlanmadan g&#246;stermesinimi istiyorsunuz
 
Sn. hsayar&#305;n yazd&#305;&#287;&#305; gibi sayfada g&#246;r&#252;nd&#252;&#287;&#252; &#351;ekilde ilgili sat&#305;rlar&#305;n g&#246;sterilmesidir.. E&#287;er konu anla&#351;&#305;lad&#305;ysa &#246;rnek sayfa haz&#305;rlayaca&#287;&#305;m.. te&#351;ekk&#252;rler...
 
Sn. hsayarın yazdığı gibi sayfada göründüğü şekilde ilgili satırların gösterilmesidir.. Eğer konu anlaşıladıysa örnek sayfa hazırlayacağım.. teşekkürler...
Sayın hsayar sayfada göründüğü gibi demiyor.Formatsız diyor.
Siz sayfada hangi hücre hangi formatta gözüküyorsa o şekilde bildirin veya örnek dosyada gösteriniz.:cool:
 
Ekli dosyayı inceleyiniz.:cool:
Kod:
Private Sub UserForm_Initialize()
Dim SAY As Long
Set S1 = Sheets("İŞ PLANI")
SAY = WorksheetFunction.CountIf(S1.[G2:G65536], Date)
If SAY > 0 Then GoTo SON
For X = 2 To S1.[G65536].End(3).Row
If Cells(X, 7) < Date Then
SİPARİŞLER = SİPARİŞLER & Cells(X, 1) & " _ " & Cells(X, 2) & " _ " & Cells(X, 3) & " _ " _
& Cells(X, 4) & " _ " & Cells(X, 7) & " _ " & Format(Cells(X, 8), "00####") & " _ " _
& Format(Cells(X, 9), "0####") & " _ " & Cells(X, 10)
End If
Next
Label1.Caption = SİPARİŞLER
Label2.Caption = "TARİHİ GEÇEN SİPARİŞLERİNİZ : "
Label3.Caption = Format(X - 3, "#,##0")
Exit Sub
SON: MsgBox "TARİHİ GEÇEN SİPARİŞİNİZ BULUNMAMAKTADIR.", vbInformation
End Sub
 
Sn Orion2

Sadece toplam satır sayısı (label3) tarihi geçenlerin sayısı olarak istemiştim mümkünse, değilse önemli değil.. Satırların alt alta gelmesi kısmını kendim düzelttim. Çok teşekkür ederim ilginize..
Özür dileyerek birşey ilave etmek istiyorum. Label1 de başlık satırı (a1:j1) gösterilmesi ve altında tarihi geçenler şeklinde olması..
Yada label 4 olarak yapmak dahamı doğrudur...
 
Son düzenleme:
Ekli dosyayı inceleyiniz.
Tarihi geçenleri Listbox ta listeliyor.
Kod:
Private Sub UserForm_Initialize()
Dim SAY As Long, kucuk As Long, sat As Long
Set S1 = Sheets("İŞ PLANI")
SAY = WorksheetFunction.CountIf(S1.[G2:G65536], Date)
If SAY > 0 Then GoTo SON
ListBox1.ColumnCount = 7
sat = 0
For X = 3 To S1.[G65536].End(3).Row
If CDate(Cells(X, 7).Value) < Date Then
    ListBox1.AddItem
    ListBox1.Column(0, sat) = Cells(X, 1).Value
    ListBox1.Column(1, sat) = Cells(X, 2).Value
    ListBox1.Column(2, sat) = Cells(X, 3).Value
    ListBox1.Column(3, sat) = Cells(X, 4).Value
    ListBox1.Column(4, sat) = Format(Cells(X, 7).Value, "dd.mm.yyyy")
    ListBox1.Column(5, sat) = Format(Cells(X, 8).Value, "00####")
    ListBox1.Column(6, sat) = Format(Cells(X, 9).Value, "0####")
    sat = sat + 1
kucuk = kucuk + 1
End If
Next
If kucuk = 0 Then GoTo SON
Label2.Caption = "TARİHİ GEÇEN SİPARİŞLERİNİZ : "
Label3.Caption = Format(kucuk, "#,##0")
Exit Sub
SON: MsgBox "TARİHİ GEÇEN SİPARİŞİNİZ BULUNMAMAKTADIR.", vbInformation
End Sub
 
Sn. Orion2

Ellerine, eme&#287;inize sa&#287;l&#305;k, &#231;ok &#231;ok te&#351;ekk&#252;rler...
 
Merhabalar..

Bir sorunla karşılaşıyorum.. G sütununda seri tarih veya fazla tarih olunca sonuç vermiyor ikinci mesaja geçiyor.. Örnek, G sütununda bulunan tarihleri aşağıya doğru sağ alt tutamaçtan çoğalttığınızda veya çoklu tarih satırlarında karşılaşıyorum..
Birde sütun aralarının mesafe ayarları yapılabiliyormu? Teşekkürler..
Örnek bir dosya yollayınız.:cool:
 
Sn. Orion2

Birinci sorunumu hallettim. Sadece bilgi i&#231;in; ayn&#305; dosyada bulunan 7 ad. listboxlar&#305;n s&#252;tun geni&#351;liklerini ayarlamak m&#252;mk&#252;nm&#252;d&#252;r... Te&#351;ekk&#252;rler...
 
Sn. Orion2

Birinci sorunumu hallettim. Sadece bilgi i&#231;in; ayn&#305; dosyada bulunan 7 ad. listboxlar&#305;n s&#252;tun geni&#351;liklerini ayarlamak m&#252;mk&#252;nm&#252;d&#252;r... Te&#351;ekk&#252;rler...
K&#305;rm&#305;z&#305; renkli sat&#305;r,listbox'taki s&#252;tun geni&#351;liklerini ayrl&#305;yor.:cool:
Kod:
Private Sub UserForm_Initialize()
Dim SAY As Long, kucuk As Long, sat As Long
Set S1 = Sheets("&#304;&#350; PLANI")
SAY = WorksheetFunction.CountIf(S1.[G2:G65536], Date)
If SAY > 0 Then GoTo SON
ListBox1.ColumnCount = 7
[COLOR="Red"]ListBox1.ColumnWidths = "30;70;70;70;80;80;80"[/COLOR]
sat = 0
For X = 3 To S1.[G65536].End(3).Row
If CDate(Cells(X, 7).Value) < Date Then
    ListBox1.AddItem
    ListBox1.Column(0, sat) = Cells(X, 1).Value
    ListBox1.Column(1, sat) = Cells(X, 2).Value
    ListBox1.Column(2, sat) = Cells(X, 3).Value
    ListBox1.Column(3, sat) = Cells(X, 4).Value
    ListBox1.Column(4, sat) = Format(Cells(X, 7).Value, "dd.mm.yyyy")
    ListBox1.Column(5, sat) = Format(Cells(X, 8).Value, "00####")
    ListBox1.Column(6, sat) = Format(Cells(X, 9).Value, "0####")
    sat = sat + 1
kucuk = kucuk + 1
End If
Next
If kucuk = 0 Then GoTo SON
Label2.Caption = "TAR&#304;H&#304; GE&#199;EN S&#304;PAR&#304;&#350;LER&#304;N&#304;Z : "
Label3.Caption = Format(kucuk, "#,##0")
Exit Sub
SON: MsgBox "TAR&#304;H&#304; GE&#199;EN S&#304;PAR&#304;&#350;&#304;N&#304;Z BULUNMAMAKTADIR.", vbInformation
End Sub
 
&#199;ok &#231;ok te&#351;ekk&#252;rler...
&#304;yi &#231;al&#305;&#351;malar...
 
Geri
Üst