返回列表 上一主題 發帖

[發問] 想請教利用vba對execl檔案中的數值加上亂數的方法(己解決)

[發問] 想請教利用vba對execl檔案中的數值加上亂數的方法(己解決)

本帖最後由 linnetkill 於 2011-11-18 07:54 編輯

a        88         15         78         21         32         2
b        49         52         92         39         33         76
c        96         70         97         96         23         16
d        5         90         33         71         59         97
e        73         55         29         11         7         73
f        83         81         46         6         0         42
g        92         82         3         79         9         70
h        53         77         96         97         14         65
我想讓使用一開啟execl後
需要輸入密碼
如密碼錯誤針對於上述數字自動乘上亂數來改奱原來值
密碼正確數值就為正常不需乘上亂數
不知道是否可以利用VBA達到此功能
請各位高手可以幫忙解惑

沒用的,把安全性設為高後程式碼就不執行了。

TOP

版主大大
是否可以請教一下
如何利用vba讓開啟execl檔
數字自動乘上亂數來改變原來值

TOP

版主大大
是否可以請教一下
如何利用vba讓開啟execl檔
數字自動乘上亂數來改變原來值
linnetkill 發表於 2011-11-17 11:16



    亂數 的範圍?

TOP

亂數範圍為正數
0至99內均可

TOP

乘上亂數是簡單,循環一下即可
  1. For Each c In ActiveSheet.Cells.SpecialCells(2, 1)
  2.   c.Value = c.Value * Int(Rnd * 100)
  3.   Next
複製代碼
你要考慮的是如何恢復

TOP

版主大大
照你方式加入
可是儲存值並沒有改變
我附加檔案上去
是否可以幫我看一下

附件.rar (4.43 KB)

TOP

本帖最後由 luhpro 於 2011-11-17 19:08 編輯

回復 7# linnetkill
你的程式要包在 Sub 與 End Sub 之間才能正常執行.

另外 For Each 後面要放 Range 範圍,
而不是只有一個儲存格.

還有, 程式若放在 ThisWorkBook,
建議要指明想要處理的儲存格所在的 Sheet,
而不是直接作用在 ActiveSheet,
以免處理程序作用到錯誤的儲存格或 Sheet.

Workbook_Open 可以透過程式碼區上方左側下拉式選單,
選擇 Workbook 自動產生表頭 Private Sub Workbook_Open() 與表尾 End Sub後,
再把開啟 Excel 時想要動作的程式放在其中即可

Private Sub Workbook_Open()
  For Each c In Sheets("Sheet1").Range("B1:G9")
    c.Value = c.Value * Int(Rnd * 100)
  Next
End Sub

TOP

感謝各位大大的提供

TOP

        靜思自在 : 要比誰更受誰.不要比誰更怕誰。
返回列表 上一主題