0
請幫助我,我想要做的是填充單元格N2:N1041與數字0和2.我想總共100個單元格(填充隨機單元格) N填充「0」,剩餘的940個單元填充「2」。換句話說,我希望範圍的9.6%(N2:N1041)用「0」填充,其餘用「2」填充。使用vba填充兩個數字的單元格
非常感謝你提前。
請幫助我,我想要做的是填充單元格N2:N1041與數字0和2.我想總共100個單元格(填充隨機單元格) N填充「0」,剩餘的940個單元填充「2」。換句話說,我希望範圍的9.6%(N2:N1041)用「0」填充,其餘用「2」填充。使用vba填充兩個數字的單元格
非常感謝你提前。
你在控制Do
循環時是一個相當簡單的練習。
首先,在此範圍內將所有單元格值設置爲「2」。
然後,使用RandBetween
函數,選擇該範圍內的隨機單元格以設置爲「0」值。添加一個檢查以確保不會用0覆蓋0,然後添加一個計數器,以便控制何時退出循環。
Sub TestMacro()
Dim rng As Range
Dim count0 As Integer
Dim randCell As Range
Set rng = Range("A2:A1041")
rng.Value = "2" 'Set all cells = 2.'
Do
Set randCell = rng.Cells(Application.WorksheetFunction.RandBetween(1, 1040))
'make sure we're not overwriting another 0-value'
If Not randCell.Value = 0 Then
randCell.Value = 0
'increment the counter variable'
count0 = Application.WorksheetFunction.CountIf(rng, "0")
End If
Loop While count0 < 100 'exit the loop once 100 cells have been changed to 0.'
End Sub
您有沒有機會嘗試我建議的解決方案? – 2013-04-08 00:16:35