1樓:匿名使用者
到底要程式設計解決,還是用公式解決。
用程式設計太簡單了,腦筋都不用動。
用公式很麻煩,而且要求(幾個工作表裡的隨機數都不重複)需要用輔助列。
2樓:同意所有條款
第一步、摁下alt+f11,進入vba編輯器。
第二步、雙擊工程資源管理器裡面的sheet1,在右側的**區貼上下面的**。
function rndstr(istart, iend, isum)
dim i, j, vntarray()
redim vntarray(iend - istart)
j = istart
for i = 0 to iend - istart
vntarray(i) = range("a" & j)
j = j + 1
next
dim vntarray2(), temp, x, y
redim vntarray2(isum - 1)
y = iend - istart + 1
x = 0
temp = vntarray
do while x < isum
dim a
randomize
vntarray2(x) = temp(int(rnd * y))
a = " " & vntarray2(x) & " "
temp = split(trim(replace(chr(32) & join(temp) & chr(32), a, " ")))
x = x + 1
y = y - 1
loop
rndstr = join(vntarray2)
end function
sub 隨機()
suiji = split(rndstr(1, 100, 8), " ")
for i = 1 to ubound(suiji) + 1
range("c" & i) = suiji(i - 1)
next
end sub
第三步、游標定位到sub 隨機(),摁f5執行。
3樓:成都豺狼
建立輔助行:
在b列建立=rand(),填充一百行,取得隨機數在c列建立=rank(b1,$b$1:$b$100),填充一百行,因為b列是隨機數,得到乙個隨機的整數,作為選擇a的行號
在d列建立=indirect("a"&c1),填充一百行,按c列得到的行號進行對a的引用
在不同的工作表裡取d列裡不同的段,如第2個表取1-10,第3個表取11-20等等
4樓:匿名使用者
a1到a100裡有一組不同的數
從中隨機抽取n個數,設n=48
alt+f11,程式設計:
sub xx()
[b1] = cells(int(rnd * 100) + 1, 1)
for i = 2 to 48
do x = 0
for n = 1 to 15
cells(i, 2) = cells(int(rnd * 100) + 1, 1)
next
for j = 1 to i - 1
if cells(j, 2) = cells(i, 2) then x = 1
next
loop while x = 1
next
end sub
f5執行。
把b25:b48剪下貼上到sheet2中。
Excel問題,Excel問題
你是用vba建立的吧。在剛建立的時候沒有任何提示,但在開啟時,會提示有巨集病毒。的確很多巨集病毒就是利用巨集來建立的,excel在開啟時,給予提醒是正常的,以便防止巨集病毒對文件資料的破壞。啟用巨集試試,如果顯示正常,就說明是你在excel文件中應用了vba。按alt f11,可以檢視vba源 如果...
excel問題,excel問題
寫乙個巨集,執行之 dim col,row sheetsnum as integer const addstring tj for sheetsnum 1 to activeworkbook.sheets.count for row 1 to sheets sheetsnum usedrange.r...
如何在excel中程式設計,怎麼樣在excel工作表中程式設計序
一 工具 microsoft office excel二 操作步驟 1.雙擊開啟桌面的excel。2.單擊右上角的office圖示,找到excel選項,單擊開啟。3.勾選在功能區顯示 開發工具 選項卡,單擊確定按鈕完成修改。4.單擊選單欄的開發工具,然後找到visual basic單擊開啟便可以進行...