• DİKKAT

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

Hızlı akan verilerden birisini seçmek.

Katılım
1 Şubat 2011
Mesajlar
134
Excel Vers. ve Dili
excel 2007
İyi çalışmalar arkadaşlar bir sorunum var yardımcı olabilirseniz sevinirim. Forumlarda arama yaptım ama bulamadım.

Excelde Butona basınca veriler sayfasının A sütunundaki ilk 30 satırdaki verilerin başka bir sayfadaki hücrede hızlı bir şekilde akmasını istiyorum. Butona tekrar basınca durmasını istiyorum. Örneğin A sütunundaki veriler A,B,C,D,E......... olsun. Sayfa 2 deki C3 hücresinde bu veriler çok hızlı bir şekilde aksın. Ben butona basınca dursun. Tekrar basınca tekrar çalışsın.

Dosya ekleyemiyorum. Kodu yazabilirseniz ben kendim düzenlemeye çalışırım. İlginize teşekkürler.
 
Makronun normal çalışma hızı sizin durdur butonuna basamayacağınız kadar hızlıdır.

Örneğin aşağıdaki kod 0,19 saniyede tamamlıyor:

PHP:
Sub kayma()
zaman = Timer
For i = 1 To 30
    Sheets("Sayfa2").[C3] = Sheets("Sayfa1").Cells(i, "A")
Next
MsgBox "İşlem tamamlandı." & Chr(10) & Chr(10) & "Toplam Süre :" & Chr(10) & Format(Timer - zaman, "Fixed") & " Saniye"
End Sub

Malumunuzdur ki 0,19 saniyede (bilgisayarın durumuna göre artıp azalabilir ama 30 veri için her halükarda 1 saniyeden daha az süreceğini düşünüyorum) herhangi bir butona basma imkanınız olmayacaktır.

Tam olarak hangi amaçla nasıl bir işlem yapmak istediğinizi belirtirseniz farklı çözümler bulunabilir.
 
üstadım derdimi tam anlatamadım herhalde. Ben bir çekiliş yapmak istiyorum. Asütununda isimler olacak butona basınca isimler hızlıca akmaya başlayacak butona basınca C3 hücresinde görünen isim kazanmış olacak.

İlginize teşekkür.
 
üstadım derdimi tam anlatamadım herhalde. Ben bir çekiliş yapmak istiyorum. A sütununda isimler olacak butona basınca isimler hızlıca akmaya başlayacak butona basınca C3 hücresinde görünen isim kazanmış olacak.
Kod çok hızlı çalışıyor. Biraz yavaşlatabilir miyiz.? Butona basınca kodu durdurup daha sonra yeni bir çekiliş için tekrar çalıştırabili miyiz?

İlginize teşekkür.
 
Son düzenleme:
Ben önceki mesajımda bunun çok hızlı olacağını belirtmiştim zaten. Aşağıdaki makroyu deneyiniz, istediğiniz gibi isimler akmasa da makro her seferinde rastgele farklı bir öğrenciyi seçecektir:

PHP:
Sub kura()
Set s1 = Sheets("Sayfa1")
Set s2 = Sheets("Sayfa2")
son = s1.Cells(Rows.Count, "A").End(3).Row
10:
aday = WorksheetFunction.RandBetween(1, son)
If s1.Cells(aday, "B") = "" Then
    s2.[C3] = s1.Cells(aday, "A")
    s1.Cells(aday, "B") = WorksheetFunction.CountA(s1.Range("B1:B" & son)) + 1 & ". Kurada Kazandı"
    uyar = MsgBox("Kazanan öğrenci :" & Chr(10) & Chr(10) & s1.Cells(aday, "A") _
        & Chr(10) & Chr(10) & "Kuraya Devam Edilsin mi?", vbYesNo + vbInformation + vbDefaultButton1, "Kura Sonucu")
    If uyar = vbYes Then
        GoTo 10
    Else
        Exit Sub
    End If
Else
    GoTo 10
End If
End Sub
 
Alternatif olarak.

2 adet buton ekleyin , butonlara aşağıdaki makrolara atayın , 1. si başlatır 2. si bitirir.

Kolay gelsin.

Kod:
Dim durdur As Boolean
Sub Basla()
durdur = False
Do
    For i = 1 To 30
        Sheets("Sayfa2").Cells(3, 3) = Sheets("veriler").Cells(i, "A")
        DoEvents
        If durdur = True Then Exit Sub
    Next
Loop
End Sub
Sub Bitir()
    durdur = True
End Sub
 
Teşekkür ederim tam olarak istediğim buydu. EMREXCEL16 Yardımı dokunan herkese teşekkürler.
 
Geri
Üst