Excel程式設計問題

2022-07-18 11:10:01 字數 1773 閱讀 6797

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單擊開啟便可以進行...