zoukankan      html  css  js  c++  java
  • 如何产生固定的随机数(VBA)

    乍一看,这个题目是有些矛盾的,既然是随机数 ,怎么又是固定的呢?

    实际上,是很多使用Excel 的朋友有这样的需求,希望能产生一些随机数,大家知道可以用Rand函数来产生它,但是这个函数是易失的,就是说会不断地计算。朋友们可能希望第一次让它随机产生,而后就固定了。所以,这就姑且称为"固定的随机数"吧

    但是,如果直接用Rand函数,就没法避免这个问题,所以我给出这样的一个解决方案。见附件

    核心代码如下

    Private Function GenerateRandNumbers(strPreString As String, intLBound As Integer, _
                                         intUBound As Integer, rngTarget As Range) As Boolean
    '******************************************************************************************
    '作用:根据用户设置的几个参数自动产生一系列的随机数,并填充到工作表的指定位置
    '作者:陈希章
    '参数:
    '           strPreString:这个作为最后产生的字符串的前缀
    '           intLBound:这个是随机数的最小可能值
    '           intUBound:这个是随机数的最大可能值
    '           rngTarget:你可以选择一个目的位置,存放这些随机数
    '适用Excel 97或者更高的版本
    '******************************************************************************************
        On Error GoTo Errhandler
        Dim rng As Range
        For Each rng In rngTarget
            rng.Value = CStr(strPreString & format(Int((intUBound - intLBound) * Rnd() + intLBound), String(Len(CStr(intUBound)), "0")))
        Next
        GenerateRandNumbers = True
        Exit Function

    Errhandler:
        GenerateRandNumbers = False
        MsgBox Err.Description, vbCritical, "错误"
        Err.Clear
        Exit Function

    End Function

  • 相关阅读:
    Linux程序调试GDB——数据查看
    linux C++ 共享库导出类
    MyBatis 通用Mapper接口 Example的实例
    mybatis3 @SelectProvider
    Maven命令行使用 mvn clean package
    Springboot IDEA eclipse 打包
    Intellij IDEA Debug
    SpringCloud之Eureka 服务注册和服务发现基础篇2
    SpringCloud组件和概念介绍1
    IntelliJ IDEA SVN
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1269673.html
Copyright © 2011-2022 走看看