资源描述:
《EXCEL VBA先修讲义预览.pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2010/9/7VBA•VBA(VisualBasicforApplication)•必須在特定的OFFICE文件中執行•運用VBA所開發出的應用程式,一般稱之為巨集•巨集病毒的防護–[工具/巨集/安全性]–於下次開檔時生效–作用於所有檔案vba教學方向•具備基本excel操作•資料來源觀念•先從『錄製巨集』入門•程式設計基礎•儲存格‐VBA運用練習•在工作表中使用ActiveX控制項•圖表物件處理•使用者自訂函數•使用者自訂表單•樞紐分析表建立•整合運用12010/9/7資料處理實務中產生的問題•資料的重覆–浪費空間–更新不
2、易•資料的不一致性•異動處理不易–資料筆數増加時–資料內容變更時•……………資料來源和輸出示意圖WORD表格WORD合併列印EXCEL工作表EXCEL範圍名稱EXCEL篩選,報表ACCESSACCESS資料表ACCESS查詢表單ACCESS報表22010/9/7常用的資料型態•文字–一般文字–類別文字(有群組的概念)•數字–整數–小數點位數•日期(年資、年齡的問題,月報、季報、年報..)•邏輯(只有兩種可能的文字內容)•其他–備註、圖片、網址、e_mail…課程範例‐資料來源的檔案介紹公司名稱縣/市員工姓名產品名稱銷貨日期數量
3、小計百事達有限公司台北市李燈灰ISD4GB94/12/311222大來股份有限公司台北縣李燈灰ISD4GB94/12/311104百事達有限公司台北市李燈灰ISD4GB94/12/311761百事達有限公司台北市李燈灰ISD4GB94/12/311857大來股份有限公司台北縣李燈灰ISD4GB94/12/3121204大來股份有限公司台北縣李燈灰ISD4GB94/12/3131841百事達有限公司台北市陳水貶ISD4GB94/12/3131952業發股份有限公司新竹市蕭惋常SD2GB94/12/3131176百事達有限公司台北
4、市李燈灰ISD4GB94/12/3142795百事達有限公司台北市李燈灰ISD4GB94/12/3142468百事達有限公司台北市李燈灰ISD4GB94/12/3195444日期數字文字32010/9/7可以產生那些資料•單純and條件篩選•複雜and&or條件篩選•文字部份資料內容比較•計算欄位•資料統計複雜and&or條件篩選•百事達有限公司、台北縣市的銷貨明細資料•2005年第一季所有ISD4GB的銷貨明細資料•百事達有限公司、台北市、2005年第一季所有ISD4GB的銷貨明細資料公司名稱縣/市員工姓名產品名稱銷貨日期數
5、量小計百事達有限公司台北市李燈灰ISD4GB94/12/311222大來股份有限公司台北縣李燈灰ISD4GB94/12/31110442010/9/7資料統計•列出前五大客戶及銷售總金額•客戶筆數•2005年第一季未交易的客戶•各客戶2005年以季別來統計銷售總金額•2005年各產品的平均售價EXCEL中可用方法•自動篩選和進階篩選•資料庫統計函數•陣列公式•名稱的運用•樞紐分析表52010/9/7公式組成元素•以=開頭•工作表函數–含該函數之參數•儲存格參照–含相對、絕對參照及範圍名稱•運算子–含+ ‐*/^&=><>=<=
6、<>…等•數值或字串•括號–決定順序用公式種類•一般公式‐>傳回單一值Enter鍵輸入•陣列公式‐>傳回多個值ctrl+shift+Enter鍵輸入EX:C9:F13公式–{=C6+C8:F8*B9:B13}62010/9/7排除零值求平均{=AVERAGE(IF(D2:D6>0,D2:D6))}=IF(D2>0,D2,””)=>2IF(D3>0,D3,””)=>xIF(D4>0,D4,””)=>2AVERAGE(2,2,3)IF(D5>0,D5,””)=>xIF(D6>0,D6,””)=>3公式隱藏一.選取欲隱藏公式的儲
7、存格(可配合ctrl鍵複選)二.[格式/儲存格/保護/隱藏]三.[工具/保護/保護工作表/….]72010/9/7名稱•定義:[插入/名稱/定義/…/新增]•名稱運用:可取代儲存格、範圍、任何值或公式結果名稱運用範例•運用於公式•運用於範圍•運用於其他Office軟體•運用於VBA82010/9/7名稱建立陣列公式多對多92010/9/7名稱定義‐OFFSET()&COUNTA()陣列公式詳解假設範圍名稱定義如下:公司名稱:=銷售資料!$A$2:$A$1395產品名稱:=銷售資料!$D$2:$D$1395數量:=銷售資料!$
8、F$2:$F$1395則下列陣列公式{=SUM(IF((公司名稱=$A13)*(產品名稱=K$3),數量))}即代表以下1394筆公式結果的總和IF((銷售資料!$A$2=$A13)*(銷售資料!$D$2=K$3),銷售資料!$F$2)IF((銷售資料!$A$3=$A13)*