- Katılım
- 20 Ocak 2017
- Mesajlar
- 88
- Excel Vers. ve Dili
- Microsoft Excel 2013
DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Sub Sayac()
Dim s As Long
If WorksheetFunction.CountIf([A:A], [K1]) = 0 Then
MsgBox "Veriyi Bulamadım"
Exit Sub
End If
s = WorksheetFunction.Match([K1], [A:A], 0)
Cells(s, "B").Select
End Sub
Kod:If WorksheetFunction.CountIf([A:A], [K1]) = 0 Then MsgBox "Veriyi Bulamadım" Exit Sub End If
İlavesini yapmıştım. Eklemenizde fayda var.
.
Option Explicit
Sub ASKM_Bul()
Dim Sayfa As Worksheet, Aranan_Veri As Variant
Dim Bul As Range, Adres As String
Aranan_Veri = Range("I1")
For Each Sayfa In Worksheets
Set Bul = Sayfa.Range("B:B").Find(Aranan_Veri, LookAt:=xlWhole)
If Not Bul Is Nothing Then
Adres = Bul.Address
Sayfa.Range(Adres).Select
End If
Next
End Sub
[K1] = Int((90 * Rnd) + 1)
Sub xxx()
[E2] = Evaluate("=RANDBETWEEN(1,100)")
Dim Sayfa As Worksheet, Aranan_Veri As Variant
Dim Bul As Range, Adres As String
Aranan_Veri = Range("C2")
For Each Sayfa In Worksheets
Set Bul = Sayfa.Range("B:B").Find(Aranan_Veri, LookAt:=xlWhole)
If Not Bul Is Nothing Then
Adres = Bul.Address
Sayfa.Range(Adres).Select
End If
Next
End Sub
Rastgele sayı ürettiğiniz verilerinizi başka bir sutuna kaydettirin. Örneğin AA1 sütununa. Countif ile burdaki sayı 1 den büyük ise tekrar sayı üretsin. Sonucu AA1 den itibaren kaydetsin. İlk tuşa bastığınızda AA1, sonra AA2 gibi eğer toplan satır sayısı 10 olmuşsa AA sütununu temizlesin. Yada örneğinizi ekleyin. Bakalım.İlk örneğiniz ile son yazdığınız kodlar pek uyuşmuyor.
Sub ASKM_Kelime_Getir()
Dim BasRndSayi, BitRndSayi As Long
BasRndSayi = 1
BitRndSayi = 100
SonSatir = Cells(65536, "T").End(xlUp).Row + 1
If SonSatir >= BitRndSayi Then
Range("T1:T" & SonSatir).ClearContents
End If
'[E2] = Evaluate("=RANDBETWEEN(1,10)")
Dim rastgelesayim As Integer
10:
rastgelesayim = Int((BitRndSayi * Rnd) + BasRndSayi)
Cells(SonSatir, "T") = rastgelesayim
If WorksheetFunction.CountIf(Range("T1:T" & SonSatir), rastgelesayim) > 1 Then
GoTo 10
Else
[e2] = rastgelesayim
End If
Dim Sayfa As Worksheet, Aranan_Veri As Variant
Dim Bul As Range, Adres As String
Aranan_Veri = Range("C2")
For Each Sayfa In Worksheets
Set Bul = Sayfa.Range("B:B").Find(Aranan_Veri, LookAt:=xlWhole)
If Not Bul Is Nothing Then
Adres = Bul.Address
Sayfa.Range(Adres).Select
End If
Next
End Sub
Aşağıdaki kodları deneyin. Tuşa da bu kodları atayın.
Kod:Sub ASKM_Kelime_Getir() Dim BasRndSayi, BitRndSayi As Long BasRndSayi = 1 BitRndSayi = 100 SonSatir = Cells(65536, "T").End(xlUp).Row + 1 If SonSatir >= BitRndSayi Then Range("T1:T" & SonSatir).ClearContents End If '[E2] = Evaluate("=RANDBETWEEN(1,10)") Dim rastgelesayim As Integer 10: rastgelesayim = Int((BitRndSayi * Rnd) + BasRndSayi) Cells(SonSatir, "T") = rastgelesayim If WorksheetFunction.CountIf(Range("T1:T" & SonSatir), rastgelesayim) > 1 Then GoTo 10 Else [e2] = rastgelesayim End If Dim Sayfa As Worksheet, Aranan_Veri As Variant Dim Bul As Range, Adres As String Aranan_Veri = Range("C2") For Each Sayfa In Worksheets Set Bul = Sayfa.Range("B:B").Find(Aranan_Veri, LookAt:=xlWhole) If Not Bul Is Nothing Then Adres = Bul.Address Sayfa.Range(Adres).Select End If Next End Sub
Sub ASKM_Kelime_Getir()
Dim BasRndSayi, BitRndSayi, SonucRndSayi As Long
BasRndSayi = 25
BitRndSayi = 35
SonucRndSayi = BitRndSayi - BasRndSayi
SonSatir = Cells(65536, "T").End(xlUp).Row + 1
If SonSatir > (SonucRndSayi + 1) Then
Range("T1:T" & SonSatir).ClearContents
SonSatir = 2
End If
'[E2] = Evaluate("=RANDBETWEEN(1,10)")
Dim rastgelesayim As Integer
10:
rastgelesayim = Int((BitRndSayi - BasRndSayi) * Rnd() + BasRndSayi)
'Int((BitRndSayi * Rnd) + BasRndSayi)
Cells(SonSatir, "T") = rastgelesayim
SonSatir2 = Cells(65536, "U").End(xlUp).Row + 1
If WorksheetFunction.CountIf(Range("T1:T" & SonSatir), rastgelesayim) > 1 Then
GoTo 10
Else
[e2] = rastgelesayim
Cells(SonSatir2, "U") = rastgelesayim
End If
Dim Sayfa As Worksheet, Aranan_Veri As Variant
Dim Bul As Range, Adres As String
Aranan_Veri = Range("C2")
For Each Sayfa In Worksheets
Set Bul = Sayfa.Range("B:B").Find(Aranan_Veri, LookAt:=xlWhole)
If Not Bul Is Nothing Then
Adres = Bul.Address
Sayfa.Range(Adres).Select
End If
Next
End Sub