Excel vba note 3 presentation

40 %
60 %
Information about Excel vba note 3 presentation

Published on February 28, 2014

Author: hika1990

Source: slideshare.net

Description

教授vba 課程的第三課 :)

EXCEL ADVANCE & VBA Course 3 2014-01-29

“別放了放假. ( 2 / 5 )” –Hika Iao

! 迴圈- For Next 陳述式 ! 迴圈作⽤用主要⽤用於重覆動作,是⼗十分常⽤用的陳述式,⽽而可借的運⽤用的迴圈陳述式有For..Next, Do..While...等等,同時迴圈中也常加⼊入流程控制的陳述式以作判斷 可省略,預設為 1 For <迴圈變數> = <初值> To <終值> [Step 步⻑⾧長]
 <程式…>
 [Exit For]
 可省略,代表退出迴圈 <程式…> Next [迴圈變數] 可省略

Example 1 For i = 1 To 10 Step 1
 Debug.Print i Next i Example 1 簡式寫法,在⼀一般不聲明的情怳下 For i = 1 To 10 
 Debug.Print i Next

練習 1 練習 2

迴圈- Do While , Do Until 當不能確定迴圈變數的終值時可以採⽤用DO WHILE 迴圈 Do [While 邏輯運算式]
 <程式…>
 [Exit Do]
 <程式…> Loop 迴圈條件,當為 True 時運⾏行內裡的程式, 否則就退出此迴圈,運⾏行Loop 后的程式,while 關鍵 字可省略 可省略 類似For 中的Next,回到do 語句處再進⾏行判斷 以下是上節中 ex2,現將她原For 改寫成 Do while 語句 運⾏行到此即會返回 到Do 處 Sub do_while_ex2() Dim singular_string As String, plural_string As String, i As Integer singular_string = "I am Singular" plural_string = "I am Plural" 定義初始值為 1 i=1 Do while Cells(i,1) <> "" If i Mod 2 = 1 Then 判斷儲存格不為空時運⾏行迴 Cells(i, 1) = singular_string 圈內的程式 ElseIf i Mod 2 = 0 Then Cells(i, 1) = plural_string End If i = i +1 Loop End Sub 變數於運⾏行⼀一⾏行為加⼀一,在此意即下個迴圈會是下⼀一個格⼦子

另外 判斷的運算式也可以放在結尾,如此的話會⾄至少運⾏行⼀一次再作判斷需要再運⾏行与否 Do
 <程式…>
 [Exit Do]
 <程式…> Loop [While 邏輯運算式]

Do [Until 邏輯運算式]
 <程式…>
 [Exit Do]
 <程式…> Loop 迴圈條件,与while 相反,語意為直⾄至。。為真時停 ⽌止,當為 False 時運⾏行內裡的程式,否則就退出此迴圈, 運⾏行Loop 后的程式,Until 關鍵字可省略 如同Do while 也可以在結尾作判斷,即迴圈會⾄至少運⾏行⼀一次 Do
 <程式…>
 [Exit Do]
 <程式…> Loop [Until 邏輯運算式]

試將 For 章節中 的練習⼀一 改寫成 Do while 及 Do until 語句 ! ! 如若不想將單數的空格顯⽰示已定義的字串該如何改寫?試以 For 中的 ex 1 以 ex 2 作改寫! ! ! 綜合練習! 1. 請⽤用學過的知識計算出(overall_ex_course3.xlsm) 中 “綜合練習⼀一” ⼯工作表中儲存格內的平 均分數,并將分數少於60作標⽰示,且如若儲存格有留空則以紅⽰示顯⽰示為“缺席”,最後要求設 定按鈕以作運⾏行程式,試以⾄至少2種⽅方式撰寫此題⺫⽬目。! ! 2. 利⽤用綜合練習2⼯工作表,完成如1題中的任務! ! ! 進階練習! 1. 續綜合練習2,現時⽼老師想對學⽣生操⾏行為C 以下(C或D) 或 有缺考 或 有兩科成績不合格 作 提⽰示,以便找出需要⾒見家⻑⾧長的學⽣生,試根據以上條件作判斷,找出需要⾒見家⻑⾧長的學⽣生,并在 該學⽣生的名字上填充紅⾊色。(提⽰示:填充紅⾊色 Cells(i, i).Interior.Color = 255)! ! 2. 續進階練習1,將需要招⾒見家的學⽣生的名字以及原因填充⾄至下⽅方空間處。

陣列 陣列其實也是變數,⼀一個可以集合多個同類型的變數集合! ! 以上 5 盒維他奶就是 5 個變數,因為5個都是維他奶可看成是同⼀一個變數,⽽而他們同在⼀一個“陣列 “上,這裡我⽤用“維他奶“作為名稱,“維他奶“就是陣列名,⽽而這裡有五個變數在這個陣列上。 ! ! 若想取出⼀一排維他奶中的第⼆二盒維他奶可以這些表⽰示:! ! ! ! 維他奶 (2) ! ! ! 陣列可以很⽅方便把同類變數作歸類,如可定義⼀一陣列變數然后把全部學⽣生名字都放進去。! 也可以利⽤用索引號去找出內裡的變數。!

那麼在vb 中⼜又是如何定義陣列以及放置變數呢? Public | Dim 陣列名稱 (a to b ) As 資料類型 or Public | Dim 陣列名稱 (n) As 資料類型 Dim 維他奶 ( 1 to 5 ) As String 維他奶 (1) = " 維他⼀一號" 維他奶 (2) = " 維他⼆二號” 維他奶 (3) = " 維他三號” 維他奶 (4) = " 維他四號” 維他奶 (5) = " 維他五號" 給陣列第⼀一個元素賦值,因該陣列是字串, 可以給字串值 " 維他⼀一號" or!

陣列也可以是多維的,如⼀一貨架有三層,分別放上了⼀一排維他奶,每⼀一排各五盒,那麼會是這様:! 第三層 第⼆二層 第⼀一層 如若客上要第⼆二層第四盒維他奶的話,在vb應該是這様表⽰示 維他奶 (2,4) 其實只要有需要,陣列可以發展成三維,四維以及五維或以上都可以! Example Dim 維他奶 ( 1to 3, 1 to 5 ) As String 維他奶 (1,1) = " 第⼀一層維他⼀一號" 維他奶 (1,2) = " 第⼀一層維他⼆二號” 維他奶 (1,3) = " 第⼀一層維他三號” 維他奶 (1,4) = " 第⼀一層維他四號” 維他奶 (1,5) = " 第⼀一層維他五號"

動態陣列! ! 如若無法確定陣列將會有多少個同類元素,可以以在⾸首次定義時將括號內的數字留空,之 后再重定義陣列的⼤大⼩小。以下為⼀一實際例⼦子: 定義陣列 Sub dtsz() 計算A列中有多少個⾮非空集合 Dim arr() As string Dim n as Long n = Application.WorkSheetFunction.CountA(Range(“A:A”) ReDim arr(1 to n) As String End Sub 重新定義陣列的⼤大⼩小 (定義時參數不能是變數,但重定義是可以)

多種創建陣列的⽅方式 使⽤用Array function 使⽤用此⽅方式必須是Variant Dim arr As Variant arr = Array (1,2,3,4,5) Debug.print “陣列中第⼆二個元素為:”& arr (1) ⽤用逗號作區隔 1. 使⽤用Split function 使⽤用Split function 使⽤用此⽅方式必須是Variant Dim arr As Variant arr = Split (“李⼩小明,李⼤大明”, “,”) Debug.print “陣列中第⼆二個元素為:”& arr (1) Dim arr As Variant arr = Split (“李⼩小明 |李⼤大明”, “|”) Debug.print “陣列中第⼆二個元素為:”& arr (1) 設定以逗號作區隔,第⼀一個 參數必須是字串,第⼆二個參數為 設以何種⽅方式區隔,這裡區分出 來都是字串 以| 作區隔

利⽤用 Range 物件 讀取 或寫⼊入⾄至陣列 使⽤用此⽅方式必須是Variant Dim arr As Variant arr = Range(“A1:C3”) Range(“E1:G3”).Value = arr 讀取該區域之值 賦值

其他常⽤用function UBound(arr) LBound(arr) UBound(arr) 可以得出該陣列之最⼤大索引數 LBound(arr) 可以得出該陣列之最⼩小索引數 以上兩個function 皆可以加⼊入第⼆二參數以得出相對應的維數下的索引數: UBound(arr,1) 可以得出該陣列第⼀一維之最⼤大索引數 UBound(arr,2) 可以得出該陣列第⼆二維之最⼤大索引數 LBound(arr,1) 可以得出該陣列第⼀一維之最⼩小索引數 LBound(arr,2) 可以得出該陣列第⼆二維之最⼩小索引數 Join(arr,arg) Dim arr As Variant arr = Array (1,2,3,4,5) text = Join(arr, “@”) Debug.print text 后⽅方的參數表⽰示⽤用什麼字串把他們連結起來, 你可以直接””也可以 1@2@3@4@5

Add a comment

Related presentations

Related pages

File formats that are supported in Excel - Excel

File formats that are supported in Excel ... Supports the use of VBA projects and Excel 4.0 macro ... and Picture or another presentation format. Linked ...
Read more

VBA Excel -> PPT - Microsoft Community

VBA Excel -> PPT CA. Caroaul asked on August 23, 2012. I have a ... Set PPPres = pp.Presentations.Add pp.Visible = True 'Step 3: ...
Read more

Samsung Galaxy Note 3 Office Dateien wie Word, Excel ...

Samsung Galaxy Note 3 Office Dateien wie Word, Excel, Powerpoint bearbeiten. Das Samsung Galaxy Note 3 eigent sich ideal als Smartphone für die Arbeit.
Read more

Powerpoint VBA to open Excel file and run excel macro ...

Powerpoint VBA to open Excel file ... corresponding Excel file is already open. As a note about ... presentation from Excel with VBA and then set ...
Read more

Valuing Floating Rate Notes (FRN) in Excel/VBA PowerPoint ...

... (FRN) in Excel/VBA PowerPoint PPT Presentation. By elu; ... Valuing Floating Rate Notes (FRN) in Excel/VBA ... The price of floating rate note was ...
Read more

Powerpoint VBA help codes articles - Mahipalreddy.com ...

... in Rows 2,3,4 and Columns B,C,D,E). 'Open VBA ... Dim oPPTFile As PowerPoint.Presentation Public ... Excel Powerpoint" & vbCrLf _ & " VBA ...
Read more

Using Excel with Other Office Applications

Using Excel with Other Office Applications . ... with Excel VBA. ... Dim PPPres As PowerPoint.Presentation Dim PPSlide As PowerPoint ...
Read more

PowerPoint Macro: Removing Speaker Notes | Beyond VBA Tutorial

... from a presentation file. This PowerPoint VBA macro ... in a presentation. Removeing a Speaker Note. ... » PowerPoint Macro: Removing Speaker Notes.
Read more

Editing Embedded PowerPoint from Excel VBA - Stack Overflow

Editing Embedded PowerPoint from Excel VBA. ... Note: this code assumes ... 3. Get a reference to the Presentation object.
Read more