我必须清理包含敏感数据的财务报告,但仍保留报告的外观,感觉和目的。我正在寻找创建一个宏来查找所有数字数据(非公式)并用数字(或理想情况下是一个随机数)对其进行多次更改值,从而对我公司的顾问进行消毒处理。< / p>
我到目前为止找到的脚本是这样的。它适用于清除所有数字数据,保留文本和公式。有人可以帮我修改这个VBA代码,用数字多个所有数值而不是删除它吗?
For Each wks In Worksheets
'ignore errors in case there is only formulas
On Error Resume Next
wks.Cells.SpecialCells (xlCellTypeConstants, 1).ClearContents
wks.Cells.SpecialCells (xlCellTypeConstants, 4).ClearContents
wks.Cells.SpecialCells (xlCellTypeConstants, 16).ClearContents
On Error GoTo 0
Next
Set wks = Nothing
答案 0 :(得分:2)
以下内容将使工作簿中的每个数字乘以“不同的”数字。随机数介于1.2和3之间,但保留公式。对每个值使用不同的随机数将使某人几乎不可能破解&#34;魔术数字#34;。有关计算随机数的更多方法,请参阅this link
Sub scrubNumbers()
Dim rRange As Range, rCell As Range
Dim wkw As Worksheet
Dim randomNum As Double
For Each wks In Worksheets
On Error Resume Next
Set rRange = ActiveSheet.UsedRange.SpecialCells(xlCellTypeConstants, xlNumbers)
For Each rCell In rRange
randomNum = Rnd * (3 - 1.2) + 1.2
rCell = rCell.Value * randomNum
Next rCell
Next
Set wks = Nothing
End Sub
在:
后: