當前位置:成語大全網 - 書法字典 - 如果是,那麽它是什麽樣的循環結構?

編者按:大家好!今天是第三節VBA實用入門課,我們將為您帶來VBA最常見的語句之壹,循環語句。有四種典型的循環語句,分別是Do While…Loop loop、Do…Loop Until loop、For…Next loop和For y…Next Loop中的每個x。看循環邏輯圖,更快理解循環語句。了解更多技巧,請收藏博客教育excel圖文教程。

如果是,那麽它是什麽樣的循環結構?

編者按:大家好!今天是第三節VBA實用入門課,我們將為您帶來VBA最常見的語句之壹,循環語句。有四種典型的循環語句,分別是Do While…Loop loop、Do…Loop Until loop、For…Next loop和For y…Next Loop中的每個x。看循環邏輯圖,更快理解循環語句。了解更多技巧,請收藏博客教育excel圖文教程。

如果是,那麽它是什麽樣的循環結構?

編者按:大家好!今天是第三節VBA實用入門課,我們將為您帶來VBA最常見的語句之壹,循環語句。有四種典型的循環語句,分別是Do While…Loop loop、Do…Loop Until loop、For…Next loop和For y…Next Loop中的每個x。看循環邏輯圖,更快理解循環語句。了解更多技巧,請收藏博客教育excel圖文教程。

讀完我們的前兩個VBA實用入門教程,妳有興趣繼續學習嗎?也許學生的興趣早就有了,只是沒有找到入門的方法。當然,前兩篇文章並不是入門之道,充其量是壹道“開胃菜”。跟上作者E圖表達的步伐,我不會讓妳成為像“啞巴英語”壹樣的“手殘VBA”。那麽如果說前兩篇文章讓妳了解了壹些cell對象的屬性,那麽在這個階段,妳需要知道兩個寫代碼時無法回避且非常重要的“語句”!

壹.循環聲明

1.分配給壹個單元

上壹篇文章,同學們要掌握壹個知識點,就是給單元格賦值的過程。什麽是賦值?是壹個表達式的結果,輸入到壹個單元格對象(某個區域)的VALUE屬性中,如下面這樣寫:

子賦值1()

紙張(“A”)。[A1] =張(“A”)。【A1】。排

末端接頭

代碼解析

第1行:將工作表A的單元格A1的行屬性賦給工作表A的單元格A1..

2.為10單元格賦值

我們來增加壹些要求的難度,給單元格A1賦值:A10。如果妳能理解上面的代碼,那就很簡單了。寫10行代碼就行了。

子作業2()

帶表(“A”)

。[A1] =。【A1】。排

。[A2] =。[A2]。排

。[A3] =。[A3]。排

。[A4] =。[A4]。排

。[A5] =。[A5]。排

。[A6] =。[A6]。排

。[A7] =。[A7]。排

。[A8] =。【A8】。排

。[A9] =。[A9]。排

。[A10] =。[A10]。排

以…結尾

末端接頭

除了多寫內容沒問題,還可以用復制粘貼的方式更改單元格地址,不是很麻煩。

3.為100個單元格賦值。否,玩大壹點,給10W單元格賦值。

同學們,妳們準備寫10W命令行嗎?直接,給妳答案,代碼如下:

子作業3()

對於i = 1至100000

帶表(“A”)

。單元格(I,1) =。單元格(I,1)。排

以…結尾

接下來我

末端接頭

Line1:設置循環變量I,循環範圍從1到100000;

line 2:Sheets(“A”)作為同壹系列對象的上下級關系;

第3行:在操作單(" A ")中,從單元格(1,1),單元格(2,1),...,單元格(I,1),...,到單元格(1)。

第4行:以語句結束;

第5行:循環語句的結束語句。滿足循環條件時,繼續循環,不滿足條件時,跳出循環。

上面是用loop語句寫的給10W單元格賦值的代碼,加上WITH語句,就是五行命令行。妳不需要寫那麽多命令代碼,使用循環代碼就可以輕松操作妳需要的數據源,這是循環語句最根本的優勢。

4.圓形邏輯圖

作者的E圖顯示,循環的過程用上面兩種格式概括。主要區別是藍色進程先考慮循環條件,滿足時執行語句,不滿足時跳出循環;橙色的流程是先執行語句,然後判斷循環變量是否滿足條件。如果不是,它循環執行語句並再次運行,否則它跳出循環。了解更多技巧,請收藏博客教育excel圖文教程。

5.循環句的兩種語法形式

EXCEL VBA中有兩種循環語句。簡單來說,壹個是Do循環,壹個是For循環,它們分別有兩種格式。

1) do while...loop循環語句,例如:

要求:找到工作表“Do Loop”中A列的第壹個空單元格。

子窗口循環()

i = 1

帶表(“Do循環”)

做的時候。Cells(i,1)& lt;& gt""

i = i + 1

MsgBox的第壹個空單元格“是”&;。單元格(I,1)。地址

以…結尾

末端接頭

代碼解析

Line1:確定循環變量的初始值為1;

Line2:使用Sheets(“Do Loop”)作為同壹系列對象的父子關系;

第3行:循環語句的初始語句,While(循環條件)表示單元格不為空;

第4行:當單元格不為空時,滿足循環條件,執行語句i=i+1。這段代碼相當重要,俗稱“counter”,尤其是在循環語句中,有定時增減變量的作用。再次使用變量時,對象的引用會有規律的變化。

第5行:循環語句的結束語句,返回第3行判斷新的I值。當單元格為空時,不滿足循環條件,跳過循環;

第6行:msgbox顯示指定的描述性文本,即“第壹個空單元格是…”。

Do While…Loop的循環結構符合循環流程圖中的藍色流程,屬於先判斷條件再運行的結構。

2)Do…Loop Until循環語句,例如:

要求:以上例為題,用Until找到第壹個空單元格。

子循環()

i = 1

帶表(“Do循環”)

i = i + 1

循環直到。單元格(I,1) = " "

MsgBox的第壹個空單元格“是”&;。單元格(I,1)。地址

以…結尾

末端接頭

代碼就不解析了,和while …循環的代碼基本壹樣,只是循環條件的位置和寫法不同。

Do…Loop Until的循環結構滿足循環流程圖中的橙色流程,屬於先執行語句,再判斷條件是否滿足。如果條件不滿足,繼續循環,只有滿足才能跳出循環。

經驗分享

許多初學Excel VBA Do循環的學生會在這兩個循環中遇到困難。如果沒有很好地找到循環條件,就容易導致“死循環”。所以筆者的e圖表達分享給大家:While condition是看“前門”,憑票允許才能進來玩;Until條件是靠“後門”,只有車票允許才能出去。

這樣理解之後,妳看的就是上面的Until代碼了吧:當單元格為= " "時,結束語句,執行下面的Msgbox。

3)For…下壹個循環語句:

通過以上案例,我們可以發現循環語句的壹個規律,就是先有初值,然後逐步累加或減去循環變量,實現對不同對象的操作。For…Next循環也是如此,但它更直接、更簡單。請看壹個示例代碼。

要求1:對a列中的值求和。

Sub For循環()

帶紙張(“For loop”)

a =。[A1040000]。結束(3)。排

對於i = 1到a

b = b +。單元格(I,1)

接下來我

MsgBox "A列的累積值= " &;b

以…結尾

末端接頭

代碼解析

Line1:使用工作表(“For loop”)作為同壹系列對象的父隸屬關系;

Line2:取單元格A1040000,取上壹行的行號,賦給變量A;

第3行:for循環的初始語句,指定了從1到A的範圍,這是循環範圍;

第4行:設置壹個變量B,B的值等於“B本身的值+單元格的值”。通過循環變量I的變化,遍歷A列的單元格,逐步累加求和。這個碼類似於i=i+1的格式,本身的值加上壹定的值,達到累加的效果;

第5行:for循環的end語句,如果下壹個I值在範圍內,繼續循環,否則跳出循環;

第6行:msgbox顯示指定的描述性文本;

第7行:with語句的結束語句。

要求2:對於這壹列數據,提取偶數行的值並累加。

很簡單,壹知半解就可以了。For循環可以在循環範圍內設置,每次循環的間隔只需要在上面的代碼中增加壹點內容,如下:

循環變量從第二行開始,每壹步是兩個值的距離,所以整個I變量是2,4,6,8,…等等。

與Do循環相比,For循環可以給出非常精確的開始和結束範圍,這對我們遍歷工作表和單元格非常有用,也是常用的。也屬於藍圖流程,先判斷後執行。

4)對於y中的每個x…下壹個循環語句:

嚴格來說,這句話還是屬於For…Next的結構,是另壹種表達形式。以後說到詞典,還會遇到這種結構。今天,我們先來看看,比如:

要求:對選定的單元格區域求和。

Sub Foreach循環()

尺寸rg作為範圍

對於選擇中的每個rg

a = a + rg。價值

然後

MsgBox "所選區域的總和= " &;a

末端接頭

代碼解析

Line1:定義壹個rg變量,這是壹個單元格變量;(我們後面會具體講定義變量。)

第二行:用英語逐字翻譯這段代碼。在選擇(選定的單元格範圍)中,循環每個rg單元格變量;

第3行:累加到變量a;

第4行:for循環的結束語句。如果下壹個rg值在選擇範圍內,則繼續循環,否則跳出循環;

第5行:msgbox顯示指定的描述性文本。

這個結構的For循環主要是指遍歷指定的“對象集”中的每個單獨的對象,這也屬於藍色圖形過程,執行前判斷,如果在“對象集”中,則執行語句,否則跳出循環。

今天的教程向妳介紹VBA中最常見也是最重要的語句之壹,循環語句。只有學會了循環,才能說明學生是“在路上”的,否則就真的只是“斷手VBA”,會讀書寫字了。對於循環,初學者需要壹個過程去理解,但妳要知道,還有很多變量等著我們去總結,去填補真實戰鬥中的漏洞。找個時間趕緊試試,祝同學們早日寫出自己的代碼。

下壹篇文章將繼續與妳分享VBA的另壹個重要聲明,判決聲明。了解更多技巧,請收藏博客教育excel圖文教程。