《神奇的VBA》編程:隨機生成彩票數據

2020-10-20 神奇的VBA

一段簡單的VBA代碼,讓你自如操作Excel,成為職場達人!

拋磚引玉的場景需求:平時我們會買些彩票,彩票開獎時,彩票數據都是隨機生成的(不知道是不是有人真信了)。這就涉及到的隨機函數應用。本篇中我們模擬一組數據當做彩票數據。

場     景

在活動工作表中生成6組含有7個隨機數的數據。

在標準模塊中加入如下代碼即可實現上面的演示功能。
注意下面代碼只是凸顯演示重要功能, 工作表中的顏色,文字大小等格式是手動設置的。


















Option Base 1Sub 隨機生成幸運數字()Dim n As Integer, x As Integer, y As IntegerDim arr() As Integer'需要產生幸運號碼的數量n = 6: m = 7'重新定義數據容量ReDim arr(n, m) As Integer'向數組中隨意填充隨機數For x = 1 To nFor y = 1 To mRandomizearr(x, y) = Int(10 * Rnd)'將數組數據加載進單元格區域中Cells(x + 1, y + 1) = arr(x, y)NextNextEnd Sub
我們還可以將上面代碼做成通用程序, 這樣可隨心所欲的生成自定義組彩票數據!
如下面代碼生成10組含有5個隨機數字的彩票數據




















Sub 調用程序()Call 生成隨機數(10, 5)End Sub
Sub 生成隨機數(n As Integer, m As Integer)Dim x As Integer, y As IntegerDim arr() As Integer'重新定義數據容量ReDim arr(n, m) As Integer'向數組中隨意填充隨機數For x = 1 To nFor y = 1 To m Randomize arr(x, y) = Int(10 * Rnd)'將數組數據加載進單元格區域中 Cells(x, y) = arr(x, y) NextNextEnd Sub

有興趣複製上面代碼運行一下。上面講解的是隨機函數的簡單應用。最近太忙,個人時間精力有限, 以後時間充裕,我分享如何使用隨機函數,設計一個簡易的公司抽獎應用!

更多Excel VBA編程知識(職場牛人必備秘技),請下載安裝使用優秀職場人必備的工具《神奇的VBA》插件,一款嵌入進Excel Ribbon界面,打開任意Excel工作簿就能隨時查閱學習VBA編程的Excel 插件。金山WPS也可以安裝使用。

關於Excel VBA隨機函數, 《神奇的VBA》插件中有詳細介紹。

相關焦點

  • excel VBA是什麼?VBA編程入門教程
    本篇將介紹excel vba是什麼?vba編程入門教程,有興趣的朋友可以了解一下!一、excel vba是什麼?VBA的英文全稱是Visual Basic for Applications,是一門標準的宏語言。VBA語言不能單獨運行,只能被office軟體(如:Word、Excel等)所調用。
  • 《神奇的VBA》編程:工作表數據的拆分-001
    拋磚引玉的場景需求: 工作中我們經常需要將工作表數據進行拆分,將拆分的數據分別粘貼到新工作簿或者追加到已有工作簿中,或者將拆分的數據放到或者追加到當前工作簿中的某個表格中 !這就是工作表數據的拆分, 網路中有些插件可以幫助拆分數據, 但是都不是很理想,數據場景變化多, 無法做到統一的拆分標準, 如果你會VBA就可以按照自己的思路隨心所欲的拆分工作表數據了。
  • Excel VBA入門教程1.1 數據和數據類型
    類似的要使用vba,也要入鄉隨俗,了解他的構成,簡單的說vba包含數據類型、 變量/常量、對象和常用的語句結構。不過呢在量和複雜度上遠低於英語,不用那麼痛苦的記單詞了,所以vba其實很簡單的。熟悉了規則之後剩下就是查官方函數啦,查Excel提供的可操作對象啦。順帶一提的是,函數其實也很容易理解,方便使用。
  • 在Python中生成隨機數據(指南)
    每當你在Python中生成隨機數據,字符串或數字時,至少應該粗略地了解數據是如何生成的。本篇教程,將會向您介紹用於在Python中生成隨機數據的幾個不同的方法,然後從安全級別,通用性,目的和速度等方面進行比較。我保證本教程不會變成一堂數學課或是密碼學課,因為一開始我就沒有足夠的數學知識進行講授。您僅僅會了解到必要的數學知識,僅此而已。
  • 條碼軟體應用之隨機生成0-9個位數字
    在條碼軟體中隨機生成0-9個位數字有兩種方法,一是應用條碼軟體自帶的「隨機生成」工具,二是利用「腳本編程」工具。條碼軟體中數據對象類型有一個「隨機生成」功能,可以簡單快捷的隨機生成0-9個位數字。接下來看看具體的工具應用。
  • Excel教學系列-如和快速地通過數據列表生成表格並列印-1對1關係
    之後,會來到一個編程界面,我們在工程頁面,點擊-右鍵-插入-模塊然後我們按住ctrl鍵點擊按鈕,可以給它重命名:批量生成卡片按一下,我們需要的表單都生成了!數據列表中的每條流水,都有了自己對應的表格然後在列印頁面選擇列印整個工作簿即可如果下次要重用就先把隱藏的數據列表和表單模板放出來,把已經生成的表格都刪除就行了是不是很簡單呢,是不是vba也不難呢?
  • vba字典功能介紹,Excel辦公效率就這麼高
    vba字典功能十分有用,如果對其它編程有一定了解,那麼對於字典也不陌生,它代表著高效和強大的數據處理功能。字典功能介紹那麼如何在vba中運用字典功能?代碼如:Dicobj.Add keys, items '字典賦值 Keys 鍵名,items 鍵值有了鍵就可以對字典數據進行各種操作,如查找、查看、修改、刪除等操作。
  • 前官員修改隨機數生成器操縱彩票中獎號碼
    (原標題:前官員修改隨機數生成器操縱彩票中獎號碼)
  • Excel VBA入門教程 1.10 單元格排序示例
    舉個排序的例子,要對A1:A20的單元格區域進行排序,區域內的內容為1-100的隨機整數, 規則是大於50的倒序排列,小於50的正序排列。
  • 隨機數生成
    在實驗數據處理中,經常會有這樣的情況:給定分布類型和參數,生成滿足該分布的隨機數值。
  • 「Python替代Excel Vba」系列(終):vba中調用Python
    數據源文件與顯示文件是獨立分開的。案例本次數據來自於微軟官方提供的財務數據。執行以下語句,即會生成一個 py 文件和一個 帶宏的 excel 文件。如下圖:點一下上圖紅框部分,即可註冊你的 py 文件中的自定義方法到 vba 中。他大致原理是讀取 py 文件中的方法,然後相應在 vba 中生成名字和參數一樣的 vba 方法。
  • Address屬性介紹,vba編程學習基礎知識
    No.1Address是Range對象的一個重要屬性,而用好這個屬性也是學習vba編程一個必修課。本章介紹關於Address的一些參數功能,對於全面了解和學習Range地址尋址方面十分必要。Address英譯為地址。
  • EXCEL之VBA應用實例-自動生成指定數量隨機手機號
    可以把下面的代碼直接複製到VBA編輯器裡測試Sub 生成隨機手機號()r = Selection.Row 『獲取當前選擇的單元格的行號,如果選擇的是一個區域則返回左上角第一個單元格的行號End If 'If語句結束Randomize '以當前計時器初始化隨機生成器For t = 1 To d '循環語句開始,從選擇的單元格開始生成隨機手機號,循環的次數是從1到變量d,d是上面輸入框輸入的數值,後面不帶參數step,默認步進值為1,就是每循環一次,自動
  • VBA編程理論學習之談
    No.1 掌握對象方法和屬性VBA編程是一個即學即用的過程,幾乎不可能全面掌握所有對象的代碼,也不可能記住所有的對象屬性。有些是解決基本應用需求,也有一些是Excel vba基礎的對象以及屬性功能介紹。總的來說,這個月有一些進展,也有一些心得和知識積累。有幾篇比較不錯的文章持續得到展示和瀏覽,說明這方面還是做到了大多數關注。
  • 1個GUI界面,隨機生成若干姓名並保存為Excel,python如何實現?
    男女取名有方法,不能千篇一律之前,也提到過,我們在一些項目中,需要若干個隨機姓名,為了節省我們的測試時間,讓測試更加逼真,就定義了一個函數來生成隨機姓名。如下圖姓名列是我們利用程序隨機生成的如何將我們定義函數生成的隨機姓名寫入到Excel表格中呢?這就是我們今天要利用Python實現的效果。
  • 隨機生成數據的幾個小技巧,rand函數的應用
    我們在日常工作中,有時候使用excel表格隨機生成數據,下面我們就分享一下隨機函數rand的使用技巧。rand函數可以生成0-1之間的隨機函數(包含小數位數)。我們大部分人都只使用rand函數的基礎應用,就是在excel單元格內輸入=rand(),然後按enter鍵,即可生成隨機數,按F9鍵可以自動刷新。如果我們覺得0-1之間這個數值不能夠滿足我們的需求,我們也讓他放大使用公式=rand()*100,加上*100也就擴大100倍的隨機數。假如我們需要要給這個隨機函數生成的隨機數指定一個範圍,那我們可以使用=rand()*(B-A)+A。
  • 生成隨機數字和文本
    為了做教程,經常需要在Excel中生成一些隨機數據,下面講解生成隨機數據的實現方法。1.生成數字型的隨機數據在單元格C2:C11區域,生成20至60之間的隨機數字由於RANDBETWEEN只能生成隨機數字,如生成隨機文本則可以借用CHOOSE函數實現。
  • EXCEL之VBA應用實例-用數組生成隨機中文名
    Sub 數組方法生成隨機姓名()Dim arrNDim arrX 『定義了兩個變量名,還有幾個變量沒有定義,專家說雖然變量沒有定義也可以直接賦值使用,但建議最好全部都定義,並且指定相應類型,我們這些非專業的業餘愛好者沒那麼講究,還有變量的命令最好也有一定的規則
  • stata編程初步+三種數據類型​
    本講主要內容 掌握編程的循環語句應用循環語句進行簡單的編程時間序列的設定時間序列差分檢驗上節內容回顧 知識與思維的層次數據與數據集變量分類與運算數據的運算 我們面臨這樣一個問題人們每天出去狩獵,但獲取的產出服從1-100之間的隨機數,由於每個人營養攝入不能低於0.1,所以當出現入不敷出的情況,將會有有人死去,這樣部落將減員。下一次開始的時候將以較少的人員開始。當總體產出超出人數,則按照超出的額度增加新的人數。循環進行無論,看看大家的結果。將以上情境編程,並循環執行五次,看結果。
  • 如何將Excel數據表單元格保存為數組,VBA數組進階應用
    No.1在vba編程中,數組應用是一個十分有用的方法。如何把數據表作為數組進行處理,是編程過程中的一個重要技能。學會之後,將大大提高編程技術,也將使數據處理的過程變得更加流暢。No.2上圖為例,把表格內容作為數組值進行保存,然後通過流程編碼對成績進行一個比較判斷,最終得出一個成績等級的判定。