關於VBA的問題,一個關於VBA的問題

2022-12-06 16:25:12 字數 1918 閱讀 6199

1樓:一年孤獨

樓主,你的問題在於你把**select case d14中的d14認為是單元格d14,其實d14根本就不是你的單元格d14,而是一個未宣告和賦值的variant變數,其值預設為" "字串,它是永遠大於6的。所以你的e18永遠等於999. 不等於1000是因為你在we=we+1這個計數發生前,就把值賦給了e18單元格。

請養成好的習慣,顯示的宣告變數。在模組前加option explicit,這樣未宣告的變數系統強制你要求宣告。此外你的**有很多是沒必要的。

我改寫如下

option explicit

sub 巨集2()

dim i as integer

dim wo as integer, we as integerfor i = 1000 to 1 step -1range("d14") = int((10 * rnd) + 1)select case range("d14")case is < 6

wo = wo + 1

case is >= 6

we = we + 1

end select

next

range("e17") = wo

range("e18") = we

end sub

在vba編輯器中,選擇工具→選項→編輯器,將要求變數宣告前打勾。系統會自動在新模組前加option explicit

2樓:ii個人的寂寞

sub 巨集2()

for i = 1000 to 1 step -1range("d14").select

activecell.formular1c1 = int((10 * rnd) + 1)

select case range("d14").valuecase is < 6

range("e17").select

activecell.formular1c1 = wowo = wo + 1

case is > 6

range("e18").select

activecell.formular1c1 = wewe = we + 1

end select

next

end sub

關於vba的一個問題!

3樓:眯住眼串針

既然賬號密碼區域網路徑設定為變數

" /user:zhanghu mima" 這樣寫法變數都變成文字了,沒有用吧

估計應該是

shell "net use " & lujing & " /user:" & zhanghu & " " & mima

關於excel vba的一個很簡單的問題

vba中的一個問題 10

4樓:

請問這段vba中那個過程不能執行?這是否是完整的**?過程「自定義工具欄 」在啦?「使用者登入」,「修改密碼」,「修改使用者名稱」你沒有具體介紹是什麼控制元件?

有一些寫法值得商榷,如:

if ws.range("a" & i).text = textbox1.text _

似乎應該寫為

if ws.range("a" & cint(i)).text = textbox1.text _

否則i將被轉換為字元型而可能造成迴圈錯誤。

一個關於love and peace的問題 5

5樓:冰天的咖啡

。。。汗,我只記得這是銀魂裡的哈達王子的口頭禪

6樓:來自七裡海耿直的無尾熊

下面這個圖是反戰符號。

7樓:匿名使用者

嬉皮士的標誌,嬉皮士的口號,崇尚愛與和平

VBA整型變數問題,關於VBA中變數問題!

不用那麼麻煩 如果你只是想比較單元格顯示的內容的大小的話只要用cells i,j text來代替cells i,j value就可以了 cells的預設屬性是value,所以cells i,j 表示的是cells i,j value 所以你的 可以改成 dim i as integer,j as i...

請問VBA,哪裡錯了,請問一個VBA,哪裡錯了

row result delete這句錯了,result是一個range,而rows index 這裡的index是行號,所以改成下面的就行了 rows result.row delete 如上所指出的錯誤,還有一處錯誤,既然涉及到刪行 必須從尾處倒過來迴圈,即改為 for i 60 to 1 st...

vba 產生不重複的隨機數問題,VBA 產生不重複的隨機數問題

產生20個1 100之間的不重複隨機數 public sub rndnumbernorepeat1 dim rndnumber,temp 20 i,k,maxrec as integer randomize timer 初始化隨機數生成器 maxrec 100 從a21開始輸出隨機數 k 0 do ...