我在 Excel 表中创建了一个按钮。现在我希望每次单击该按钮时都会在单元格中生成一个唯一代码。如果我再次单击该按钮,则会在前一个单元格下方生成另一个唯一代码。
我尝试了DEC2HEX
excelRANDBETWEEN
的功能。它起作用了。但无法找到如何使用该按钮使其发挥作用。
希望理解!
答案1
打开 VBA 编辑器,然后输入以下按钮代码
Sub Generate()
Dim lRow As Long
'Find the last non-blank cell in column A
lRow = Cells(Rows.Count, 1).End(xlUp).Row
ActiveSheet.Range("G" & (lRow + 1)).Value = WorksheetFunction.RandBetween(1, 5000)
'Select the last row of the column - Change the column
ActiveSheet.Cells((lRow + 1), 1).Select
End Sub
请注意,由于您使用的是 RANDBETWEEN 函数,Excel 将重新计算工作表并将先前生成的随机数更改为新的随机数,如下所示这里:
与 RAND 一样,Excel 的 RANDBETWEEN 是一个易失性函数,每次电子表格重新计算时它都会返回一个新的随机整数。
答案2
您可以使用以下宏来创建一个随机数:
Sub RandNumber()
ActiveCell.FormulaR1C1 = "=RANDBETWEEN(0,100)"
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveCell.Offset(1, 0).Select
End Sub
要将其创建为宏,请按 ALT + F11,在左侧的导航器中找到您的工作簿,右键单击并插入新模块,然后粘贴到上面。
在此处了解有关录制宏的更多信息:
https://www.webucator.com/how-to/how-record-macro-microsoft-excel.cfm
如果您希望随机数介于特定数字之间而不仅仅是 0-100 之间,您可以编辑上面的代码,我会让您解决该部分;)