可以把下面的代碼直接複製到VBA編輯器裡測試
Sub 生成隨機手機號()
r = Selection.Row 『獲取當前選擇的單元格的行號,如果選擇的是一個區域則返回左上角第一個單元格的行號
col = Selection.Column '獲取當前選擇的單元格的列號,如果選擇的是一個區域則返回左上角第一個單元格的列號
d = InputBox("請輸入要生成的手機號數量:") '彈出一個輸入框並把輸入的值賦值給變量d
nd = IsNumeric(d) '判斷變量d是不是數值,並把結果賦值給變量nd,如果是數值返回true,如果不是數值返回flase
If d = "" Or nd = flase Then '如果輸入的值為空或不是數值則
MsgBox ("你沒有輸入數據或輸入的不是數值") '彈出一個警告框
Exit Sub '並退出當前程序塊
End If 'If語句結束
Randomize '以當前計時器初始化隨機生成器
For t = 1 To d '循環語句開始,從選擇的單元格開始生成隨機手機號,循環的次數是從1到變量d,d是上面輸入框輸入的數值,後面不帶參數step,默認步進值為1,就是每循環一次,自動+1,並把當前值賦值給變量t
'定義一批用於生成從0到9的隨機整數
aa = Int(Rnd() * 9)
ab = Int(Rnd() * 9)
ac = Int(Rnd() * 9)
ad = Int(Rnd() * 9)
ae = Int(Rnd() * 9)
af = Int(Rnd() * 9)
ag = Int(Rnd() * 9)
ah = Int(Rnd() * 9)
ai = Int(Rnd() * 9)
'Cells(行,列)是單元格的表示方式,下面是用變量代替不確定的行號和列號,.value是單元格的屬性代表其內容,後面的「13」是以13開頭的字符串,這個雙引號"",也可以不寫代表數字,也就是說連字符&是可以把字符和數字等不同類型的數值連成一個字符串的,後面用&連接的幾個變量就是要生成的隨機數,每循環一次就有一個新的隨機數。
Cells(r, col).value = "13" & aa & ab & ac & ad & ae & af & ag & ah & ai
'變量r在這裡是代表行,每循環一次r=r+1,也就是往下一行,這裡列變量col一直不變,就是同一列一行一行往下填充,直到輸入的次數為止。
r = r + 1
Next
End Sub