muratgunay48
Altın Üye
- Katılım
- 10 Şubat 2010
- Mesajlar
- 1,454
- Excel Vers. ve Dili
- Office 365 - Türkçe (64 bit)
DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Private Sub Workbook_Open()
Dim a As Variant
Dim arr As Variant
arr = Array(Range("A1"), Range("A4"), Range("A10"), Range("A17"), Range("A24"))
a = Application.InputBox("Hücre sayısı giriniz.", "Sayı", Type:=1)
If a = False Then
MsgBox "İşlemi iptal ettiniz"
Exit Sub
End If
RastgeleHücreSec CInt(a)
End Sub
Sub RastgeleHücreSec(numCellsToSelect As Integer)
Dim ws As Worksheet
Dim rng As Range
Dim cell As Range
Dim selectedCells As Range
Dim i As Integer
Dim sat As Long
' Çalışma sayfasını belirle
Set ws = ThisWorkbook.Sheets("Sayfa1") ' Sayfa adını değiştirebilirsiniz
' Verilerin olduğu aralığı belirle
Set rng = ws.Range("A1:A" & ws.Cells(ws.Rows.Count, "A").End(xlUp).Row)
' Rastgele hücreleri seçmek için döngü
For i = 1 To numCellsToSelect
' Rastgele bir hücre seç
sat = Application.WorksheetFunction.RandBetween(1, 30)
Set cell = rng.Cells(sat, "A")
' Seçilen hücreyi seçilen hücreler aralığına ekle
If selectedCells Is Nothing Then
Set selectedCells = cell
Else
Set selectedCells = Union(selectedCells, cell)
End If
Next i
' Seçilen hücrelere işlem yapabilirsiniz
If Not selectedCells Is Nothing Then
selectedCells.Select ' Seçili hücreleri seçili yapmak
' İşlemlerinizi buraya yazabilirsiniz
End If
End Sub
Merhaba,
Chatcpt sağolsun, o yazdı ben biraz kurcaladım
Rastgele sayı adet seçerken ben 30 ile sınırlandırdım, siz bunu Rows.Count yapabilirsiniz ya da kendiniz değer verebilirsiniz.
Aşağıdaki kod BuÇalışma Kitabında yine WorkbookOpen da olacak.
Kod:Private Sub Workbook_Open() Dim a As Variant Dim arr As Variant arr = Array(Range("A1"), Range("A4"), Range("A10"), Range("A17"), Range("A24")) a = Application.InputBox("Hücre sayısı giriniz.", "Sayı", Type:=1) If a = False Then MsgBox "İşlemi iptal ettiniz" Exit Sub End If RastgeleHücreSec CInt(a) End Sub
Aşağıdaki kodları bir modüle kopyalayınız.
Kod:Sub RastgeleHücreSec(numCellsToSelect As Integer) Dim ws As Worksheet Dim rng As Range Dim cell As Range Dim selectedCells As Range Dim i As Integer Dim sat As Long ' Çalışma sayfasını belirle Set ws = ThisWorkbook.Sheets("Sayfa1") ' Sayfa adını değiştirebilirsiniz ' Verilerin olduğu aralığı belirle Set rng = ws.Range("A1:A" & ws.Cells(ws.Rows.Count, "A").End(xlUp).Row) ' Rastgele hücreleri seçmek için döngü For i = 1 To numCellsToSelect ' Rastgele bir hücre seç sat = Application.WorksheetFunction.RandBetween(1, 30) Set cell = rng.Cells(sat, "A") ' Seçilen hücreyi seçilen hücreler aralığına ekle If selectedCells Is Nothing Then Set selectedCells = cell Else Set selectedCells = Union(selectedCells, cell) End If Next i ' Seçilen hücrelere işlem yapabilirsiniz If Not selectedCells Is Nothing Then selectedCells.Select ' Seçili hücreleri seçili yapmak ' İşlemlerinizi buraya yazabilirsiniz End If End Sub
Geri dönüş olmamış, neden ki?
Geri dönüş olmamış, neden ki?