【Excel VBA】- 使用自定義函數自動生成序列號

課程開始之前呢,小S做一個廣告,勿噴哈^_^,小S的VBA基礎進階篇視頻教程已經錄製完畢,正緊鑼密鼓的聯繫秦老大上傳到其網站上。預計本周就會在網站職領辦公技巧網,每天Office技巧學一點!和網易雲課堂發布。歡迎大家學習觀看~

今天為大家介紹的內容是如何使用兩種方法自動生成序列號,具體問題如下所示:

看到問題需求是通過公式,一拉即可全部生成,那最好的辦法肯定是使用VBA創建一個自定義函數,代碼內容如下:

Function myNumber(rang1 As Range, rang2 As Range) As String

Dim strNum As String, iQty As Integer, i As Integer, m As String

批次碼

strNum = rang1.Text

進貨數量

iQty = rang2.Text

m = ""

For i = 1 To iQty

m = m & strNum & Format(i, "-000") & ","

Next i

myNumber = Left(m, Len(m) - 1)

End Function

創建自定義函數的方法如下圖:

如果對Excel公式比較了解的小夥伴,也可以通過Excel自帶的函數變通來解決,雖然繁瑣,但至少可以解決問題。

公式:=IF(COLUMN(A$1)<=$B2,$A2&"-"&TEXT(COLUMN(A$1),"000"),"")

詳情請見如下動態圖:

使用Excel自帶的函數能夠生成序列號,但還未達到提問者的需求,這裡通過複製到文本文件里,進行批量替換即可達到。是不是很繁瑣?

先從Excel中複製信息到文本文件,然後選中需要替換的內容,進行複製,按下鍵盤上Ctrl + H打開替換文本對話框,粘貼複製的內容,替換為英文下的逗號,此時內容會包含多個英文下的逗號,我們可以繼續替換,直到每一個內容之間只包含一個英文下的逗號。最後一個替換用到了正則表達式,把每行結束的逗號替換為空即可。VBA系列課程講解完後,我會針對Windows系統的高效操作進行講解,大大提高各位小夥伴的效率。

如果對VBA不了解的小夥伴可以學習我的視頻課程哦,我從基礎開始講起,讓學習了的小夥伴人人都成為問題解決小能手,早早完成任務不是夢^_^

SUT學習交流群QQ群:615356012)剛剛建立,有興趣的可以加入群,一起學習進步!Written by Steven in 20170320^_^

微信公眾號:SaveUTime

SUT學習交流群:615356012,入群審核人:Steven

關注公眾號,提高效率,節約您的時間!


推薦閱讀:

近來商用化的機器人、無人機等快速發展,對控制演算法提出了哪些新的要求?
沒有用的理論+全靠經驗的工程=控制學?=控制學的面具!
前饋形式的震蕩控制器(下)
勒索病毒的咆哮:工業信息化路上多少坑等著填?【一網到底,數據透明】我們的工業系統會裸奔嗎?

TAG:自定义函数 | VBA | 自动化 |