- 帖子
- 20
- 主題
- 5
- 精華
- 0
- 積分
- 63
- 點名
- 2
- 作業系統
- WINXP
- 軟體版本
- OFFICE 2007
- 閱讀權限
- 20
- 註冊時間
- 2014-11-21
- 最後登錄
- 2025-2-9
|
5#
發表於 2015-4-20 22:18
| 只看該作者
感謝各位前輩指導,在看各位的指導之前,我試著撰寫如下,因為我剛自學VBA半年,有錯誤之處,再請大家教導一下~~感謝~
Sub 偵錯()
Dim r As Integer
For r = 1 To Application.WorksheetFunction.CountA(Sheets("Sheet1").Range("E:E"))-1
If Sheets("Sheet1").Cells(r + 7, 5) < Worksheets("偵錯規格設定").Range("B2").Value Or Sheets("Sheet1").Cells(r + 7, 5) > Worksheets("偵錯規格設定").Range("B1").Value Then
Sheets("Sheet1").Cells(r + 7, 5) = Round(Rnd() * Worksheets("偵錯規格設定").Range("B5").Value, 3) + Worksheets("偵錯規格設定").Range("B4").Value
End If
Next
End Sub
(注意事項)
1.先確認E欄內共輸入幾筆資料(發現合併儲存格內之標題被算為1筆資料)
2.因Sheet1有標題列,故r+7列為真正數字資料輸入起始列
3."偵錯規格設定"工作表內之B1/B2分別為規格上下限; B4為亂數下限,B5為自亂數下限往上數起,共要自B5設定值之組數內挑一個亂數的組數依據
4.當初設定亂數產生需有小數點3位,故使用Round來規範亂數產生呈現方式 |
|