SlideShare a Scribd company logo
Excel /
 VBA


            Dick Lam

          Sep 2012
提纲
I.    Excel / VBA 结构
II.   变量 / Variable
III. 物件 / Object
IV. 程式邏輯 / Loop
V.    簡單應用
VI. 資料庫
VII. 通用程式應用
VIII. 在 Excel/VBA 讀取資料庫
首先
Excel / VBA 结构
• Alt + F11 打開設計模式
• 主要作用 :
  – 自定義函数 (function), 作單元格计算 ; 如
    sum()
  – 指令 (command), 一連串動作或判断以決定何
    種效果或计算結果
    • 亦可透過外部連結 , 抽出資料庫數據
    • 更可儲存資料至資料庫
• 最重要是 logic, 活用 if …. Then … Else
  格式思維
Excel / VBA 结构
• Function XYZ(      ) as Type
  – Private vs. Public


• Sub XYZ
  – Private vs. Public
Function
Sub
变量 / Variable
宣示 : Dim
•String / Long / Double

•Constant

•範圍 : Public / Module / Procedure

•Option Explicit
Object 物件
• Application / Activewindow

• Workbook / Worksheet / Range
  – No object like Cell
  – Cell = Range, e.g. range(“a1”)


• Controls: ComboBox / List / Button /
  Checkbox
Characteristics of Object
• Event / 事件
  – Worksheet
     • Doubleclick
     • SelectionChange
     • Activate
• Property / 屬性
  – Worksheet: Name
  – Range: font.color / interior.color
• Method / 方法
  – Worksheet: calculate / activate
Debug/ 除錯
• [F8] to step forward each command in the
  code, or;
Debug/ 除錯
• Set a breakpoint to a place you want to
  start debugging
程式邏輯 / Loop
• If .. Then




• If .. then .. else
• IF…Then…else if




•   If…Then…Else IF 语句中的 Else IF 条件判断式的数量没有限制,但是在有多个 Else
    IF 判断式的情况下,可能阅读起来很吃力。
•   当判断的对象是单一条件时,使用 Select Case 语句更容易解决前面的困扰。
• Select case .. case .. case else
• For…Next




• For Each…Next




•   For…Next 语句即用于指定次数秋重复执行一组语句。
•   For Each…Next 语句针对一个数组或集合中的每个元素重复执行一组语句。
• Do Until…Loop




• Do While…Loop




•   Do Until…Loop 语句是当条件为 False 时,重复执行语句,当条件为 True 时结束循环
    ;
簡單應用
•   fMax / fMin
•   NoShortQty
•   FileListName
•   fRegion
•   GetComment

• DoubleClick
ActiveX Data Object
資料庫
• Database
  – Connection String
    • SQL:
    "Provider=sqloledb;Server=192.168.0.10;UID=sa;P
      WD=ydyester;Initial Catalog=yestertest“

    • Microsoft Access:
    "Provider=Microsoft.ACE.OLEDB.12.0;Data
      Source=D:Works2012
      TrainingExcelVBAERP.accdb;Persist Security
      Info = False"
資料庫
  – Connection
    • Dim DB as new adodb.connection
    • DB.open gConnectionString


• Table: Recordset
    • Dim xRecord as new adodb.recordset
    • xRecord.open “select * from bom”,db,adopenstatic
資料庫
• Query
通用程式應用
• Dbdownload(xTable, xFieldRange, xRow,
  xCriteria, xOrder)
Workshop for
Production Materials Plan
Tips & Tricks
• Design the model
• Work out the middle layer of the model,
  i.e. various working worksheet
• Conclude with a summary/report
• Find the range address
• Find the value of a particular cell
• Write formula in a particular cell in VBA
• Define the interval of the model
• 有一百樣物料缺 , 究竟有沒有只
        追一種物料便即時可以開工單 ?

更多的
      • 如果追一種物料 , 是否有資料告
要求      知同時要追另外哪些料才可開工
        單?


      • 突然有一系列急單 , 究竟欠哪些
        料?


      • 某一種物料是哪成品需要 , 多少
        及欠多少 ?

More Related Content

What's hot (20)

PPT
Java SE 8 技術手冊第 4 章 - 認識物件
Justin Lin
 
PDF
Java SE 7 技術手冊投影片第 04 章 - 認識物件
Justin Lin
 
PDF
Java SE 7 技術手冊投影片第 06 章 - 繼承與多型
Justin Lin
 
PPTX
Excel vba實務應用 第4天
明和 蔡
 
PPT
Java SE 8 技術手冊第 18 章 - 自訂泛型、列舉與標註
Justin Lin
 
PDF
Java SE 7 技術手冊投影片第 07 章 - 介面與多型
Justin Lin
 
PDF
Java SE 7 技術手冊投影片第 11 章 - 執行緒與並行API
Justin Lin
 
PDF
Java SE 7 技術手冊投影片第 05 章 - 物件封裝
Justin Lin
 
PDF
Java SE 7 技術手冊投影片第 09 章 - Collection與Map
Justin Lin
 
PDF
Java SE 7 技術手冊投影片第 15 章 - 反射器與類別載入器
Justin Lin
 
PPT
Java SE 8 技術手冊第 14 章 - NIO 與 NIO2
Justin Lin
 
PPT
Java SE 8 技術手冊第 12 章 - Lambda
Justin Lin
 
PDF
Java SE 7 技術手冊投影片第 12 章 - 通用API
Justin Lin
 
PDF
資料永續與交換
Justin Lin
 
PPT
Java SE 8 技術手冊第 15 章 - 通用API
Justin Lin
 
PPTX
從模組到類別
Justin Lin
 
PPTX
流程語法與函式
Justin Lin
 
PPT
Java SE 8 技術手冊第 3 章 - 基礎語法
Justin Lin
 
PPTX
5, initialization & cleanup
ted-xu
 
PDF
Java SE 7 技術手冊投影片第 08 章 - 例外處理
Justin Lin
 
Java SE 8 技術手冊第 4 章 - 認識物件
Justin Lin
 
Java SE 7 技術手冊投影片第 04 章 - 認識物件
Justin Lin
 
Java SE 7 技術手冊投影片第 06 章 - 繼承與多型
Justin Lin
 
Excel vba實務應用 第4天
明和 蔡
 
Java SE 8 技術手冊第 18 章 - 自訂泛型、列舉與標註
Justin Lin
 
Java SE 7 技術手冊投影片第 07 章 - 介面與多型
Justin Lin
 
Java SE 7 技術手冊投影片第 11 章 - 執行緒與並行API
Justin Lin
 
Java SE 7 技術手冊投影片第 05 章 - 物件封裝
Justin Lin
 
Java SE 7 技術手冊投影片第 09 章 - Collection與Map
Justin Lin
 
Java SE 7 技術手冊投影片第 15 章 - 反射器與類別載入器
Justin Lin
 
Java SE 8 技術手冊第 14 章 - NIO 與 NIO2
Justin Lin
 
Java SE 8 技術手冊第 12 章 - Lambda
Justin Lin
 
Java SE 7 技術手冊投影片第 12 章 - 通用API
Justin Lin
 
資料永續與交換
Justin Lin
 
Java SE 8 技術手冊第 15 章 - 通用API
Justin Lin
 
從模組到類別
Justin Lin
 
流程語法與函式
Justin Lin
 
Java SE 8 技術手冊第 3 章 - 基礎語法
Justin Lin
 
5, initialization & cleanup
ted-xu
 
Java SE 7 技術手冊投影片第 08 章 - 例外處理
Justin Lin
 

Viewers also liked (20)

PPTX
Vba Excel Level 2
Ben Miu CIM® FCSI A+
 
PDF
Excel vba macro programing
University of Narotama
 
PPTX
Vba Class Level 1
Ben Miu CIM® FCSI A+
 
PPTX
Tutorial 6: Multiple Worksheets and Workbooks
cios135
 
PPTX
Tutorial 8: Developing an Excel Application
cios135
 
PDF
Plan de estudios ing. industrial
Liceth777
 
PDF
Catalogo
Liceth777
 
PDF
Sample Employment Verification
Kevin Wellington
 
PDF
Sample Income Verification
Kevin Wellington
 
PDF
Integrating Mortgage Disclosures With Income Verification
eLynxInfo_Buzz
 
PDF
Equifax Verification Services - Auto Lender Infographic
Kevin Wellington
 
PDF
2016 Excel/VBA Notes
Yang Ye
 
PDF
Modul kuliah-vba-lengkap ok
Andi Simanjuntak
 
PPTX
MISMO / eMortgage Update
Electronic Signature & Records Association
 
RTF
Contoh Analisis Data Statistika Menggunakan SPSS 16.0 (Mulai Entri Data samp...
Yogyakarta State University
 
PDF
Excel vba visual basic (korol) (1)
Liceth777
 
PPTX
Tutorial 11: Connecting to External Data
cios135
 
PDF
Pelatihan singkat olah data dengan software spss
prana gio
 
PPTX
Tutorial 10: Performing What-IF Analyses
cios135
 
PDF
Langkah langkah pengolahan-data_data_dalam_penelitian
masnonoo
 
Vba Excel Level 2
Ben Miu CIM® FCSI A+
 
Excel vba macro programing
University of Narotama
 
Vba Class Level 1
Ben Miu CIM® FCSI A+
 
Tutorial 6: Multiple Worksheets and Workbooks
cios135
 
Tutorial 8: Developing an Excel Application
cios135
 
Plan de estudios ing. industrial
Liceth777
 
Catalogo
Liceth777
 
Sample Employment Verification
Kevin Wellington
 
Sample Income Verification
Kevin Wellington
 
Integrating Mortgage Disclosures With Income Verification
eLynxInfo_Buzz
 
Equifax Verification Services - Auto Lender Infographic
Kevin Wellington
 
2016 Excel/VBA Notes
Yang Ye
 
Modul kuliah-vba-lengkap ok
Andi Simanjuntak
 
Contoh Analisis Data Statistika Menggunakan SPSS 16.0 (Mulai Entri Data samp...
Yogyakarta State University
 
Excel vba visual basic (korol) (1)
Liceth777
 
Tutorial 11: Connecting to External Data
cios135
 
Pelatihan singkat olah data dengan software spss
prana gio
 
Tutorial 10: Performing What-IF Analyses
cios135
 
Langkah langkah pengolahan-data_data_dalam_penelitian
masnonoo
 
Ad

Similar to Excel VBA (14)

PPT
Excel函數進階班(北市政府公訓處) 2
terry28853669
 
PDF
Excel vba
Yen_CY
 
PPTX
ICT-old-ch07-converted.pptx
liutommy1
 
PPTX
Excel vba實務應用 第3天
明和 蔡
 
PPTX
ICT-old-ch08-converted.pptx
liutommy1
 
PPTX
Excel函數實務應用班(一)
明和 蔡
 
PPTX
Excel vba實務應用 第1天
明和 蔡
 
PPT
Coding guideline
斯理 衛
 
PPT
Lotus domino开发教程
dyzm_2000
 
PDF
VB 課程進階第三天預排內容
jiannrong
 
PPT
My visual basic入門指引 3
Xavier Chou
 
PDF
本書特色適用讀者
sugeladi
 
PPT
Excel使用技巧
npwzyl
 
PDF
Database01
Kevin Kao
 
Excel函數進階班(北市政府公訓處) 2
terry28853669
 
Excel vba
Yen_CY
 
ICT-old-ch07-converted.pptx
liutommy1
 
Excel vba實務應用 第3天
明和 蔡
 
ICT-old-ch08-converted.pptx
liutommy1
 
Excel函數實務應用班(一)
明和 蔡
 
Excel vba實務應用 第1天
明和 蔡
 
Coding guideline
斯理 衛
 
Lotus domino开发教程
dyzm_2000
 
VB 課程進階第三天預排內容
jiannrong
 
My visual basic入門指引 3
Xavier Chou
 
本書特色適用讀者
sugeladi
 
Excel使用技巧
npwzyl
 
Database01
Kevin Kao
 
Ad

More from Dick Lam (20)

PPTX
The Day & Night of ECI
Dick Lam
 
PPTX
Customer Service in a factory
Dick Lam
 
PPTX
WIP Management
Dick Lam
 
PPTX
Reporting for operation 0
Dick Lam
 
PPTX
Reporting for operation 1 (restructured course)
Dick Lam
 
PPTX
Reporting for operation
Dick Lam
 
PPTX
Operational accounting 2
Dick Lam
 
PPTX
Operational accounting 8
Dick Lam
 
PPT
Collaboration
Dick Lam
 
PPTX
Production scheduling(draft agenda)
Dick Lam
 
XLS
General ledger
Dick Lam
 
XLS
Waterfall(cross zero)
Dick Lam
 
XLS
Data generation for Waterfall Diagram
Dick Lam
 
XLS
Stock ledger (in Excel)
Dick Lam
 
PPTX
Internal control 2010 ic 4
Dick Lam
 
XLS
Template for budgeting 2010
Dick Lam
 
XLS
Worksheet for budgeting 2010
Dick Lam
 
PPTX
Budgeting - Jul 2010
Dick Lam
 
PPTX
New missions for HR - Internal control 2010 ch 9
Dick Lam
 
XLS
Mrp fine tuning
Dick Lam
 
The Day & Night of ECI
Dick Lam
 
Customer Service in a factory
Dick Lam
 
WIP Management
Dick Lam
 
Reporting for operation 0
Dick Lam
 
Reporting for operation 1 (restructured course)
Dick Lam
 
Reporting for operation
Dick Lam
 
Operational accounting 2
Dick Lam
 
Operational accounting 8
Dick Lam
 
Collaboration
Dick Lam
 
Production scheduling(draft agenda)
Dick Lam
 
General ledger
Dick Lam
 
Waterfall(cross zero)
Dick Lam
 
Data generation for Waterfall Diagram
Dick Lam
 
Stock ledger (in Excel)
Dick Lam
 
Internal control 2010 ic 4
Dick Lam
 
Template for budgeting 2010
Dick Lam
 
Worksheet for budgeting 2010
Dick Lam
 
Budgeting - Jul 2010
Dick Lam
 
New missions for HR - Internal control 2010 ch 9
Dick Lam
 
Mrp fine tuning
Dick Lam
 

Recently uploaded (7)

DOC
交友推广-霸屏搭建网站建设与维护-软件下载:村长黑科技【s080.cn】pJiFY
lomarespio3
 
DOC
谷歌♨️优化排名♨️外推软件代做seo-google蜘蛛池网站建设与维护-软件下载:村长黑科技【s080.cn】w83F1.doc
lomarespio3
 
DOC
issuu.com论坛自动发帖软件(脚本)-地图代发软件-软件下载:村长黑科技【s080.cn】Wphdx
lomarespio3
 
PPTX
3分钟读懂南十字星大学毕业证Southern Cross毕业证【微信:BYZS866】
btsqpfmy
 
DOC
issuu.com发帖软件哪个好用?-发帖账号网站建设与维护-软件下载:村长黑科技【s080.cn】RCmOf
lomarespio3
 
PPTX
3分钟读懂乐卓博大学毕业证LTU毕业证【微信:BYZS866】
btsqpfmy
 
DOC
交友推广-蜘蛛池搜索网站建设-软件下载:村长黑科技【s080.cn】5z8W2
lomarespio3
 
交友推广-霸屏搭建网站建设与维护-软件下载:村长黑科技【s080.cn】pJiFY
lomarespio3
 
谷歌♨️优化排名♨️外推软件代做seo-google蜘蛛池网站建设与维护-软件下载:村长黑科技【s080.cn】w83F1.doc
lomarespio3
 
issuu.com论坛自动发帖软件(脚本)-地图代发软件-软件下载:村长黑科技【s080.cn】Wphdx
lomarespio3
 
3分钟读懂南十字星大学毕业证Southern Cross毕业证【微信:BYZS866】
btsqpfmy
 
issuu.com发帖软件哪个好用?-发帖账号网站建设与维护-软件下载:村长黑科技【s080.cn】RCmOf
lomarespio3
 
3分钟读懂乐卓博大学毕业证LTU毕业证【微信:BYZS866】
btsqpfmy
 
交友推广-蜘蛛池搜索网站建设-软件下载:村长黑科技【s080.cn】5z8W2
lomarespio3
 

Excel VBA

  • 1. Excel / VBA Dick Lam Sep 2012
  • 2. 提纲 I. Excel / VBA 结构 II. 变量 / Variable III. 物件 / Object IV. 程式邏輯 / Loop V. 簡單應用 VI. 資料庫 VII. 通用程式應用 VIII. 在 Excel/VBA 讀取資料庫
  • 4. Excel / VBA 结构 • Alt + F11 打開設計模式 • 主要作用 : – 自定義函数 (function), 作單元格计算 ; 如 sum() – 指令 (command), 一連串動作或判断以決定何 種效果或计算結果 • 亦可透過外部連結 , 抽出資料庫數據 • 更可儲存資料至資料庫 • 最重要是 logic, 活用 if …. Then … Else 格式思維
  • 5. Excel / VBA 结构 • Function XYZ( ) as Type – Private vs. Public • Sub XYZ – Private vs. Public
  • 7. Sub
  • 8. 变量 / Variable 宣示 : Dim •String / Long / Double •Constant •範圍 : Public / Module / Procedure •Option Explicit
  • 9. Object 物件 • Application / Activewindow • Workbook / Worksheet / Range – No object like Cell – Cell = Range, e.g. range(“a1”) • Controls: ComboBox / List / Button / Checkbox
  • 10. Characteristics of Object • Event / 事件 – Worksheet • Doubleclick • SelectionChange • Activate • Property / 屬性 – Worksheet: Name – Range: font.color / interior.color • Method / 方法 – Worksheet: calculate / activate
  • 11. Debug/ 除錯 • [F8] to step forward each command in the code, or;
  • 12. Debug/ 除錯 • Set a breakpoint to a place you want to start debugging
  • 13. 程式邏輯 / Loop • If .. Then • If .. then .. else
  • 14. • IF…Then…else if • If…Then…Else IF 语句中的 Else IF 条件判断式的数量没有限制,但是在有多个 Else IF 判断式的情况下,可能阅读起来很吃力。 • 当判断的对象是单一条件时,使用 Select Case 语句更容易解决前面的困扰。
  • 15. • Select case .. case .. case else
  • 16. • For…Next • For Each…Next • For…Next 语句即用于指定次数秋重复执行一组语句。 • For Each…Next 语句针对一个数组或集合中的每个元素重复执行一组语句。
  • 17. • Do Until…Loop • Do While…Loop • Do Until…Loop 语句是当条件为 False 时,重复执行语句,当条件为 True 时结束循环 ;
  • 18. 簡單應用 • fMax / fMin • NoShortQty • FileListName • fRegion • GetComment • DoubleClick
  • 20. 資料庫 • Database – Connection String • SQL: "Provider=sqloledb;Server=192.168.0.10;UID=sa;P WD=ydyester;Initial Catalog=yestertest“ • Microsoft Access: "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:Works2012 TrainingExcelVBAERP.accdb;Persist Security Info = False"
  • 21. 資料庫 – Connection • Dim DB as new adodb.connection • DB.open gConnectionString • Table: Recordset • Dim xRecord as new adodb.recordset • xRecord.open “select * from bom”,db,adopenstatic
  • 25. Tips & Tricks • Design the model • Work out the middle layer of the model, i.e. various working worksheet • Conclude with a summary/report • Find the range address • Find the value of a particular cell • Write formula in a particular cell in VBA • Define the interval of the model
  • 26. • 有一百樣物料缺 , 究竟有沒有只 追一種物料便即時可以開工單 ? 更多的 • 如果追一種物料 , 是否有資料告 要求 知同時要追另外哪些料才可開工 單? • 突然有一系列急單 , 究竟欠哪些 料? • 某一種物料是哪成品需要 , 多少 及欠多少 ?