EXCEL VBA.

Slides:



Advertisements
Similar presentations
第一單元 建立java 程式.
Advertisements

計算機概論 第4章 基本視窗程式應用 4-1 程式語言簡介 4-2 演算法與流程圖 4-3 視窗程式語言設計 4-4 資料結構.
計算機程式及實習 期末報告 題目:商店結帳系統
Access数据库程序设计 总复习.
課程名稱:程式設計 授課老師:________
高等医药院校药学类第三轮规划教材——大学计算机基础
VBA应用开发与实例 李 辉 微软课程培训讲师. VBA应用开发与实例 李 辉 微软课程培训讲师.
題目:台灣客運 南臺科技大學 機械工程系 班級:奈米一乙 學號:4A 姓名:蔡政堯 授課教師:謝慶存
第20章 VBA.
Chapter 5 迴圈.
Visual Basic程序设计.
BLANK overview.
課程名稱:程式設計 授課老師:________
Chapter 1 複習.
Visual Basic 2010 程式設計16堂特訓 第七堂 VB的迴圈流程控制.
課程名稱:程式設計 授課老師:________
Visual Basic 6.0 學習範本 第三章 基本資料型態.
LINQ 建國科技大學 資管系 饒瑞佶.
Visual C++ introduction
第二章 Visual Basic语言基础.
講師:戴志華 國立台灣大學電機工程研究所 Visual Basic 程式設計 講師:戴志華 國立台灣大學電機工程研究所.
第10章VBA会计应用与实践 第11章会计凭证管理模块设计与实现
数组 第 6 章.
巨集病毒與VBA.
程式語言 -Visual Basic 變數、常數與資料型態.
2 C++ 程式概論 2.1 C++ 程式結構 程式註解 // 插入標題檔 #include 2-3
1 巨集 2 資料型態 3 物件、屬性、方法與事件 4 陳述式與副函式 5 其他注意事項 6 範例
过程 第 7 章.
ASP动态网页设计实用教程 主讲教师: 开课单位:.
類別(class) 類別class與物件object.
Access VBA程序设计 本章重点 Access Basic编程语言 运算符、函数与表达式 Access Basic语句 模块的使用
第4章 程序控制结构与算法基础.
新觀念的 VB6 教本 第七章 讓程式轉彎的控制敘述.
流程控制、陣列 台南市聖功女子高級中學 毛全良.
6-1 For…Next迴圈敘述 6-2 While…End While迴圈敘述 6-3 Do…Loop迴圈敘述 6-4 巢狀迴圈敘述
第12章 VBA模块设计.
新觀念的 VB6 教本 第 6 章 資料型別.
雲端計算.
第四章 命令按钮、标签和文本框 大多数应用程序中都有命令按钮CommandButton控件,用户可以单击按钮执行某项操作。
Visual Basic程序设计.
算法与程序设计 周少品.
VB程序设计语言 主讲教师:王 杨.
VB程序设计语言 主讲教师:王 杨.
程式設計 Visual Basic簡介 週次:2 建國技術學院 資管系 饒瑞佶 2003年9月17日.
第一單元 建立java 程式.
程式語言(I)- Visual Basic 6.0 第 8 章 模組化程式設計I-副程式與自定函數.
For x = 0 To 9 For y = 0 To 9 z = *x + 10*y …… Next y
金融資訊管理 撰寫VBA的基本事項.
江西财经大学信息管理学院 《数据库应用》课程组2007
巨集與自訂工具列.
輸入&輸出 函數 P20~P21.
现代信息技术 微电子技术 计算机技术 传感技术 通信技术 处理、存储信息的技术 传感、采集技术 传递信息的技术
打地鼠(陣列版).
第二章、第三章错题分析.
期末考.
GridView.
GridView操作 (II).
認識常數與變數 學習C++所提供的各種基本資料型態 瞭解溢位的發生 學習認識資料型態之間的轉換
Flash 8:開口中 從Y:\ 複製『開口中.fla』到 D:\ 更改名稱為:s3x99 (你的班號) 雙按開啟檔案 2019年5月7日
流程控制:Switch-Case 94學年度第一學期‧資訊教育 東海大學物理系.
函數應用(二)與自定函數.
從HTML表格到CSS 靜宜大學 資管系 楊子青.
1位选手参加了歌唱比赛,评委们的评分如下:
選擇性結構 if-else… switch-case 重複性結構 while… do-while… for…
Cloud Training Material- 事件 Sherman Wang
Programming & Language Telling the computer what to do
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
程序调试与错误处理.
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
InputStreamReader Console Scanner
Presentation transcript:

EXCEL VBA

檢視 工具列  表單

點選您要使用的物件,放到工作表中

點選新增可以開始編寫VBA

在VBA程式編輯區編輯程式 程式編輯區

1. 輸入: Dim new_date As String ' 宣告變數 new_date = Range("B2").Value MsgBox new_date 2. 存檔

執行結果

EXCEL VBA設計 變數 物件變數 比較運算 判斷式IF的設計 固定迴圈for的設計 非固定迴圈while的設計 程式的流程

變數 變數型態 支援九種變數型態 變數宣告 Dim 變數名稱 AS 變數型態 非強迫性

變數型態 名稱 說明 大小 Byte 位元組 1 Integer 整數 2 long 長整數 4 single 單精度浮點 Double 倍精度浮點 8 Currency 大範圍的數值 decimal 小數 14 string 字串 字串長度 date 日期

範例 Private Sub 按鈕3_Click() Dim new_date As Date ' 宣告變數 new_date = Range("B2").Value MsgBox new_date End Sub ‘ 代表程式註解 Msgbox 代表出現訊息框 Range指定要讀取的工作表位置

Workbooks(“book1.xls”).sheets(1).range(“b2”).value=“xxxx” 物件變數 在程式指定物件的時侯,必須要配合物件的層級來命名。假設目前作用中的活頁簿是”book1.xls”,如果要改變”book1.xls”,第一張工作表的儲存格,程式必須寫成: Workbooks(“book1.xls”).sheets(1).range(“b2”).value=“xxxx” VBA提供一種比較特殊的變數,用來取代物件的層級名稱,這種變數稱為”物件變數”, 例如(cell_1):

範例-重新設定b2儲存格的內容 Private Sub 按鈕3_Click() Set cell_1 = Workbooks(“book1.xls").Sheets(1).Range("b2") cell_1.Value = "物件變數的用法" cell_1.ColumnWidth = 18 cell_1.Font.Bold = True End Sub

以儲存格的內容進行計算 Private Sub 按鈕3_Click() Dim num as integer num = [b2] + [c2] MsgBox "計算結果 = " & num End Sub

比較運算 “比較運算”用來比對兩個運算元,再依據比對的結果,傳回”true”/”false”,程式則依據傳回的結果,來決定執行的方法。 Example: Private Sub 按鈕3_Click() num = Range("b2").Value If num > 60 Then MsgBox " 過 關 !!!" Else MsgBox "革命尚未成功" End If End Sub

判斷式IF的設計 Private Sub CommandButton1_Click() Dim Result As Integer IF <條件式> Then [程式一] ELSE [程式二] End if Private Sub CommandButton1_Click() Dim Result As Integer Result = Val(InputBox("input a integer")) If Result > 20 Then MsgBox "Input greater than 20" Else MsgBox "Input less than 20" End If End Sub

上頁執行結果

固定迴圈for的設計 語法:   For 變數名稱 = 起始值  TO  結束值 [程式區塊] Next 例:  試從 1 加到100。

從 1 加到100 Private Sub CommandButton1_Click() Total=0 For k=1 to 100 從 1 加到100 Private Sub CommandButton1_Click() Total=0 For k=1 to 100 total=total +k Next Msgbox “1+2 +3 + 4 +5+…+ 100 = ” & total End sub

Exit for Private sub commandButton_Click() Dim total as integer For k=1 to 10000 total=total+k if total > 6000 then exit for End if Next Msgbox “次數=” & k & “總合=” &total End Sub

非固定迴圈 Do while loop Private Sub CommandButton1_Click() K=1 Total=0 [程式區塊] loop Private Sub CommandButton1_Click() K=1 Total=0 Do while k<=100 total = total +k K=k+1 Loop Msgbox “1+2+3+4+5+6+7+8+…+100=” & total End Sub

再插入一個按鈕[顯示表單]到工作表中

1.利用巨集來顯示表單 2.表單與工作表的互動 3. 儲存格與表單的互動 4.將資料連續輸入到儲存格。 建立使用者界面(表單) 1.利用巨集來顯示表單 2.表單與工作表的互動 3. 儲存格與表單的互動 4.將資料連續輸入到儲存格。

利用巨集來顯示表單 表單的功能介紹:啟動VBA\插入自訂表單。 工具箱的各種元件介紹: Label TextBox、 ListBox, ComboBox, Button, Frame, RadioButton, Multipage, TabStrip, ScrollBar

目標 製作一個簡單的表單, 表單中有兩個CommandButton及一個TextBox, 我們可以輸入資料在TextBox空格中, 再按Button新增資料到Excel資料表中。

修改介面

constant Value contents vbModal 1 以強制回應顯示自訂表單 vbModeless 以非強制回應顯示自訂表單 Show方法的語法 Object.show model Object…寫上要顯示出來的自訌表單的物件名稱 Modal…boolean值, 以下表的常數來決定是要以[強制回應]或[非強制回應]來顯示自訂表單. constant Value contents vbModal 1 以強制回應顯示自訂表單 vbModeless 以非強制回應顯示自訂表單

example Sub 按鈕5_Click() UserForm2.Show End Sub Show的預設方法是參數modal, 也就是強制回應

[取消]按紐的處理 Private Sub CommandButton2_Click() Unload UserForm2 End Sub Unload object Object……指移除的物件名稱或控制項名稱

將資料輸入到儲存格中 利用變數及運算式來存取儲存格。 定義[模組層次變數], 這個變數能讓多個程序來[參照],這個變數能讓多個程序來參照。

Userform2:( 一般 ) – (宣告) Dim CelNo as String Dim Pos As Integer Userform2:Userform-Initialize Private Sub UserForm_Initialize() Pos=1 CelNo=“A” & Pos End Sub

Userform2: CommandButton1_Click() Private Sub CommandButton1_Click() With Worksheets("sheet1") .Range(CelNo) = UserForm2.TextBox1.Text Pos = Pos + 1 CelNo = "A" & Pos .Range(CelNo).Activate End With UserForm2.TextBox1.Text = "" UserForm2.TextBox1.SetFocus End Sub