Çok eski bir web tarayıcısı kullanıyorsunuz. Bu veya diğer siteleri görüntülemekte sorunlar yaşayabilirsiniz.. Tarayıcınızı güncellemeli veya alternatif bir tarayıcı kullanmalısınız.
merhaba arkadaşlar.
ekteki dosyadan da görüleceği gibi user form'un üzerine label ekliorum ama makroyu çalıştırdığımda label görünmüyor.yardım edenlere şimdiden teşekkür ederim
userformunuzun labelinde bir sıkıntı yok. yalnızca formunuzun görünme süresi üzerindeki yazıyı göremeyeceğimiz kadar kısa. Yani butona basmamızla formun gelip gitmesi bir oluyor. Yaptığım değişiklikle form üzerindeki label güründü.
ektedir.
mustafa bey teşekkür ederim ama ben bu user form olayını başka bir makroda uygulamak istiyorum ve bu makro 8-15 saniye arası hesaplama yapıyor.makroyu çalıştırmaya bailadığımda user form görünsün ve makro çalışması bittiğinde kendiliğinden kapanacak şekilde yapamazmıyız.yani user formun görüntü süresi makroya bağlı olsun.umarım anlatabilmişimdir derdimi.şimdiden tekrar teşekkür ederim
zaten cihan arkadaşımız da öyle yapmış yani sen aktar düğmesine bastığında 2sn form gözüküyor sonra işlem gercekleşiyor ve dosyandaki veriler az olduğundan form 2 sn sonra kapanıyor sen kendi dosyana yukardaki kodda olduğu gibi
Application.Wait Now + TimeSerial(0, 0, 2)sayıları arttırarak formun görüntüsünü daha uzun süre ekranda tutabilirsiniz
işin ilginç tarafı şudur ki benim dosyamda makroların çalışma süresi değişken.bu dosyamdaki verilere bağlı.makrolar verileri 8 saniyede de hesaplayabilir 15 saniyede de.benim anladığım kadarıyla sizin tarifinizde user formun süresini ben belirliyorum ama benim istediğim makroların hesaplama süresine göre ekranda kalsın.yani süreyi ben belirlemeyeyim.teşekürler
sizin kodlarınıza ilave olarak kırmızı ile yazdığım kodları ekledim.Pause adlı bir alt sub yaparak bunu asıl subda nerde gerekli ise yani hangi işlemden önce bir bekletme süresi eklenecek ise ondan önce veya sonra Pause (1.0) şeklinde koda ilave edilir.burdaki Pause sub adı, (1.0) ise saniye cinsinden bekleme süresini tayin eder.Bu kodları olduğu gibi module3 ekleyebilirsin.ben bu kodları senin dosyan üzerinde office2007 üzerinde çalıştırdım.
Ayrıca bu kodların form genelinde ki diğer arkadaşlarında çok işine yarayacağını tahmin ediyorum.Saygılarımla...
Sub aktar()
Dim k As Range, i As Long, j As Range
UserForm1.Show 0 Pause (1.0)
Sheets("Rapor").Select
Application.ScreenUpdating = False
Range("B2:IV65536").ClearContents
With Sheets("Sheet1")
For i = 2 To .Cells(65536, "A").End(xlUp).Row
Set k = Range("A2:A65536").Find(.Cells(i, "A").Value, , xlValues, xlWhole)
If Not k Is Nothing Then
Set j = Range("B1:IV1").Find(.Cells(i, "B").Value, , xlValues, xlWhole)
If Not j Is Nothing Then
Cells(k.Row, j.Column) = Cells(k.Row, j.Column) + .Cells(i, "C").Value
End If
End If
Next i
End With
Application.ScreenUpdating = True
Unload UserForm1
MsgBox "İşlem Tamam"
End Sub
Public Sub Pause(BeklemeZamani As Currency) Dim BASLA As Currency
BASLA = Timer
Do While Timer < (BASLA + BeklemeZamani)
DoEvents
Loop
End Sub
Sizlere daha iyi bir deneyim sunabilmek icin sitemizde çerez konumlandırmaktayız, web sitemizi kullanmaya devam ettiğinizde çerezler ile toplanan kişisel verileriniz Veri Politikamız / Bilgilendirmelerimizde belirtilen amaçlar ve yöntemlerle mevzuatına uygun olarak kullanılacaktır.