Board logo

標題: 怎樣將一些數值RAMDOM 到不同的儲存格 [打印本頁]

作者: wwh126    時間: 2013-2-24 16:12     標題: 怎樣將一些數值RAMDOM 到不同的儲存格


A1  123
A2  234
A3  678
A4  789
A5  345
A6  456
A7  567
     .
     .
     .
怎樣將那些數值隨機貼在不同的儲存格(如D2, D5, E3, E7,F1, F4....)上。

感謝各位高手指教!
作者: kimbal    時間: 2013-2-25 13:29


A1  123
A2  234
A3  678
A4  789
A5  345
A6  456
A7  567
     .
     .
     .
怎樣將那些 ...
wwh126 發表於 2013-2-24 16:12
  1.     For i = 0 To 9
  2.         Cells(Int(65535 * Rnd) + 1, Int(199 * Rnd) + 1).Value = Range("A1").Offset(i, 0)
  3.     Next   
複製代碼

作者: loquat    時間: 2013-2-25 23:24

如果不限定单元格的话,2#就可以了
如果是在限定的单元格中随机的话,就有点麻烦了。
要先将限定单元格存入数组A,使用经典算法产生不重复随机数,填入上面数组A的同型数组B
再将A1填入数组B编号为1对应下标的那个数组A单元格中
作者: loquat    時間: 2013-2-25 23:28

For i = 0 To 9
     Cells(WorkSheetFunction.RandBetween(2,Rows.Count*Columns.Count)).Value = Range("A1").Offset(i, 0)
Next
作者: wwh126    時間: 2013-2-28 08:09

如要在指定儲存格如要在D2,D5,D10進行隨機寫入A行的數值應該點寫?
作者: kimbal    時間: 2013-2-28 13:41

本帖最後由 kimbal 於 2013-2-28 13:42 編輯
如要在指定儲存格如要在D2,D5,D10進行隨機寫入A行的數值應該點寫?
wwh126 發表於 2013-2-28 08:09


方法有很多, 這是其1
  1. Sub test()
  2.     Dim dic
  3.     Dim itemCount, randItem, randItemCounter, strKey
  4.     Dim dataOffset
  5.    
  6.     Set dic = CreateObject("Scripting.Dictionary")
  7.     dic.Add "D2", "D2"
  8.     dic.Add "D5", "D5"
  9.     dic.Add "D10", "D10"
  10.    
  11.     dataOffset = 0
  12.    
  13.     For itemCount = dic.Count To 1 Step -1
  14.         randItem = Int(itemCount * Rnd) + 1
  15.         randItemCounter = 0
  16.         For Each strKey In dic.Keys
  17.             randItemCounter = randItemCounter + 1
  18.             If randItemCounter = randItem Then
  19.                 Range(dic.Item(strKey)).Value = Range("A1").Offset(dataOffset, 0).Value
  20.                 dataOffset = dataOffset + 1
  21.                 Call dic.Remove(strKey)
  22.                 Exit For
  23.             End If
  24.         Next
  25.     Next
  26. End Sub
複製代碼

作者: wwh126    時間: 2013-3-1 18:43

可以在A1到A40內有數字的RAMDOM 到指定的儲存格(D2,D4,D7,D10,D11)上。
作者: wwh126    時間: 2013-3-1 18:45

回復 6# kimbal


    只將A1到A3數字RAMDOM,我想將整行"A"內有數字的儲存格RAMDOM
作者: wwh126    時間: 2013-3-1 18:45

回復 6# kimbal


    THANKS YOU




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)