日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

循环结束后变回去 设置一个值_VBA掌握循环结构,包你效率提高500倍

發(fā)布時間:2023/12/10 编程问答 61 豆豆
生活随笔 收集整理的這篇文章主要介紹了 循环结束后变回去 设置一个值_VBA掌握循环结构,包你效率提高500倍 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

這是系列免費教程《Excel VBA:辦公自動化》,還是老規(guī)矩,看看我們走到哪里了。

1.認識VBA:什么是VBA?

2.這些掌握了,你才敢說自己懂VBA

3.VBA變量5年踩坑吐血精華總結(jié)

4.VBA中重要的強制申明,誰看誰明白

我們先看上次分享的案例題目。

在「單元格B2」輸入不同的行號,點擊「顯示答案」按鈕,計算「F列」和「H列」對應(yīng)行號的乘積,并將每個乘積結(jié)果加上公共值「單元格B4」的50,將最終結(jié)果顯示在相應(yīng)的單元格。

我們首先回顧一下上述的操作,我們先輸入不同題號,然后點擊宏按鈕,整個過程需要2步。

如果題目只有10道,好像看起來沒什么,但是如果題目有100道、1,000道或是更多的題目呢?

假設(shè)題目1,000道,輸入題號+點擊按鈕2連操作你僅需要1s(那得多快的手速),全部操作完就是1,000s,也就約為17分鐘。

如果這個題目的數(shù)字再進一步放大呢?我想時間成本就不可想象了。

其實,上述案例是我之前部門同事工作的簡化版,他經(jīng)常要面對機械重復(fù)、枯燥乏味的Excel表格操作。

當(dāng)然了,如今的他早已擺脫當(dāng)年的那種苦海~

如果你也想早日擺脫機械重復(fù)、枯燥乏味的Excel表格操作苦海,下面2個知識點你一定要掌握。

1.for循環(huán)

案例:不輸入題號,僅點擊1次「顯示答案」按鈕,所有題目答案自動計算后顯示在「J列」

我們來分析案例(僅以10道題目來分析)

我們觀察發(fā)現(xiàn):行號是變化的,而且是「正向遞增加1」的規(guī)律。

在《變量》分享那篇文章,我們將這些變化的行號數(shù)字更改為「變量」,用x代替,程序被精簡為這樣:

那時,我們通過將「單元格B2」的值賦值給「變量x」,然后手動變更「單元格B2」的值,從而變更「變量x」的值,那么能不能讓「變量x」完全自動變化呢?

我們對之前的代碼小小改造一下,僅加2句「For循環(huán)結(jié)構(gòu)」代碼即可輕松實現(xiàn)一鍵自動計算上述案例答案:

我們把上述代碼單獨拿出來,分析一下

For循環(huán)主要分為3個部分,分別為:

(1)循環(huán)開始

標(biāo)準(zhǔn)的書寫格式為「For xxx = xxx To xxx Step xxx」,表示的意思是「變量xxx」的值從xxx變化為xxx,每次增加xxx

(2)循環(huán)內(nèi)容

循環(huán)內(nèi)容根據(jù)工作需求書寫相關(guān)執(zhí)行代碼就好,一般都是循環(huán)的核心代碼,比如這里的循環(huán)內(nèi)容就是「J列某行單元格」=「F列某行單元格」*「H列某行單元格」+ 50

(3)循環(huán)結(jié)束

標(biāo)準(zhǔn)的書寫格式為「Next xxx」,表示的意思是「下一個xxx的值」

[備注]

a.「Step」可以取正整數(shù)和負整數(shù),也可以省略不寫;當(dāng)「Step」省略不寫時,值默認為1。

b.「Next xxx」中的「變量 xxx」可以省略不寫,但建議完整書寫,不省略。

我們來模擬一下上述「For循環(huán)結(jié)構(gòu)」的程序運行過程:

(1)程序讀取「循環(huán)開始」語句「For x = 1 To 10 Step 1」

由于我們使用了「For循環(huán)開始」,并且嚴格規(guī)定了「變量X」的值從1變?yōu)?0,每次僅增加1,即:x可以取1 2 3 4 ...10。而本次「x = 1」

(2)讀取第2句「循環(huán)內(nèi)容」代碼「Cells(x, 10) = Cells(x, 6) * Cells(x, 8) + h」

由于第1句代碼確定了「x = 1」,而「Cells(4, 2) = 50」以及「h = Cells(4, 2)」,那么「h = 50」。因此,上述代碼可以翻譯為:「單元格J1」= 「單元格H1」* 「單元格F1」+50。最后,程序到單元格獲取對應(yīng)的值即可。

(3)讀取第3句「循環(huán)結(jié)束」代碼「Next x」

此時,「變量 x = 2」

(4)程序回到第1句讀取「循環(huán)開始」語句「For x = 1 To 10 Step 1」

我們可以看到此時程序自動返回「循環(huán)開始」的地方,由于此時「變量 x = 2」仍然符合「X 從 1 變?yōu)?10 每次增加1」這個區(qū)間,因此程序接著運行,一直等到「變量 x = 11」的時候,程序會跳出循環(huán),執(zhí)行下一個語句。

(5)我們看下最終的程序的執(zhí)行結(jié)果

看到這里我們大家也許就明白了,所謂的「For循環(huán)結(jié)構(gòu)」就是:

提前設(shè)置一定的條件或規(guī)則,然后程序自動按照設(shè)定的條件或規(guī)則自動運行,等到不符合設(shè)定的條件或規(guī)則時,程序跳出循環(huán)結(jié)構(gòu),執(zhí)行下一個句子。

那么,我們就可利用「For循環(huán)結(jié)構(gòu)」這種符合條件自動運行的特性,根據(jù)工作場景書寫相關(guān)代碼即可。

2.代碼排版

按照馬斯洛的需求層次理論,我們在達到一定的需求層次之后,會追求更高的需求層次。

那么,這句話應(yīng)用到VBA代碼領(lǐng)域就是:在我們掌握了一定的代碼基礎(chǔ)之后,我們就希望掌握更強的VBA技能。(這些技能你只要跟著我們的VBA分享課一步一個腳印練習(xí),一定能夠驚嘆自己的超能力)

但真正的VBA高手不僅取決于VBA代碼實力,還取決于自己寫的代碼別人能不能看懂,也包括自己日后能不能看懂。(別問我為什么,因為我經(jīng)歷過翻譯自己代碼的痛苦)

很明顯,更喜歡右邊的排版,因為它排版干凈、代碼從屬關(guān)系清晰,更易閱讀。

所以說,我們不僅要多金(技能強),還要帥氣(排版好)

那么,如何實現(xiàn)上述帥氣的排版呢?很簡單,戳一下就可以

(1)按「Tab」代碼縮進

(2)點選VBE編輯器的縮進按鈕

正所謂:“帥氣”VBA路,從Tab起步

3.總結(jié)

(1)For循環(huán)結(jié)構(gòu)

提前設(shè)置一定的條件或規(guī)則,然后程序自動按照設(shè)定的條件或規(guī)則自動運行,等到不符合設(shè)定的條件或規(guī)則時,程序跳出循環(huán)結(jié)構(gòu),執(zhí)行下一個句子。

(2)VBA代碼排版

“帥氣”VBA路,從Tab起步

推薦:人工智能時代的必學(xué)技能

總結(jié)

以上是生活随笔為你收集整理的循环结束后变回去 设置一个值_VBA掌握循环结构,包你效率提高500倍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。