《計算機財務(wù)管理》配套教學課件_第1頁
《計算機財務(wù)管理》配套教學課件_第2頁
《計算機財務(wù)管理》配套教學課件_第3頁
《計算機財務(wù)管理》配套教學課件_第4頁
《計算機財務(wù)管理》配套教學課件_第5頁
已閱讀5頁,還剩664頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

《計算機財務(wù)管理》第1章財務(wù)建模技術(shù)—Excel操作精要【本章重點】單元格絕對引用、相對引用、混合引用及跨工作表引用統(tǒng)計函數(shù)、邏輯函數(shù)、查找引用函數(shù)、數(shù)據(jù)庫函數(shù)及財務(wù)函數(shù)柱形圖、折線圖、餅圖、XY散點圖等常用圖表的制作排序、篩選、分類匯總、數(shù)據(jù)透視表與報表匯總單變量求解、模擬運算、規(guī)劃求解與方案管理滾動條、微調(diào)鈕、組合框等窗體工具工作簿和工作表的保護1.1計算機財務(wù)建模概述1.2電子表格軟件簡介1.3公式與函數(shù)1.4圖表制作本章目錄【課后習題】1.5數(shù)據(jù)管理1.6假設(shè)分析1.7窗體工具1.8數(shù)據(jù)保護目錄本節(jié)1.1計算機財務(wù)建模概述

1.1.1計算機財務(wù)建模的必要性

1.1.2計算機財務(wù)建模的定位

1.1.3計算機財務(wù)建模的應循程序1.需求分析2.可行性分析3.資料準備4.財務(wù)建模5.模型的使用與動態(tài)調(diào)整目錄本節(jié)1.2電子表格軟件簡介

1.2.1常用的電子表格軟件

1.2.2電子表格軟件的主要功能

1.工作簿管理2.管理數(shù)據(jù)3.數(shù)據(jù)共享4.制作圖表5.開發(fā)應用系統(tǒng)目錄本節(jié)1.3公式與函數(shù)

1.3.1公式

1.公式的概念及其構(gòu)成

2.公式的創(chuàng)建與修改(1)公式的創(chuàng)建(2)公式的修改3.公式的運算次序4.公式運算結(jié)果的顯示⑴查看公式中某步驟的運算結(jié)果:【F9】目錄本節(jié)1.3公式與函數(shù)

(2)公式表達式與運算結(jié)果之前的切換:【Ctrl+`】

(3)將公式運算結(jié)果轉(zhuǎn)換為常數(shù):選擇性粘貼

1.3.2單元格引用1.引用的類型⑴相對引用⑵絕對引用⑶混合引用2.輸入單元格引用:輸入“$”或按【F4】【例1-1】目錄本節(jié)1.3公式與函數(shù)

3.跨工作表單元格引用被引用工作表名稱!單元格引用

4.跨工作簿單元格引用[工作簿名稱]工作表名稱!單元格引用

當源工作簿關(guān)閉時:‘工作簿所在路徑\[工作簿名稱]工作表名稱’!單元格引用1.3.3函數(shù)應用1.Excel函數(shù)簡介

(1)函數(shù)名稱(參數(shù)1,參數(shù)2,…,參數(shù)n)(2)手工輸入或利用函數(shù)向?qū)?/p>

⑴統(tǒng)計函數(shù)①MAX(number1,number2,…,number30)②MIN(number1,number2,…,number30)③SUM(number1,number2,…,number30)④SUMIF(range,criteria[,sum_range])目錄本節(jié)1.3公式與函數(shù)【例1-2】

⑤AVERAGE(number1,number2,…,number30)⑥AVERAGEIF(range,criteria,average_range)⑦COUNT(value1,value2,…,value30)⑧COUNTIF(range,criteria)⑨MODE(number1,number2,…,number30)⑩LARGE(array,k)、SMALL(array,k)

目錄本節(jié)1.3公式與函數(shù)【例1-3】⑵文本函數(shù)①LEN(text)②RIGHT(text,num_chars)③LEFT(text,num_chars)④MID(text,start_num,num_chars)⑤LOWER(text)⑥UPPER(text)⑦TRIM(text)⑧REPLACE(old_text,start_num,num_chars,new_text)目錄本節(jié)1.3公式與函數(shù)⑶邏輯函數(shù)①IF(logical_test,[value_if_true],[value_if_false])目錄本節(jié)1.3公式與函數(shù)【例1-4】

②AND(logical1,logical2,…,logical30)③OR(logical1,logical2,…,logical30)④NOT(logical)⑷查找與引用函數(shù)①LOOKUP向量形式:LOOKUP(lookup_value,lookup_vector,result_vector)用于在單行區(qū)域或單列區(qū)域中查找值,然后返回第二個單行區(qū)域或單列區(qū)域中相同位置的值。數(shù)組形式:LOOKUP(lookup_value,array),用于在數(shù)組的第一行或第一列中查找指定的值,并返回數(shù)組最后一行或最后一列內(nèi)同一位置的值。目錄本節(jié)1.3公式與函數(shù)

②VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)目錄本節(jié)1.3公式與函數(shù)【例1-5】③INDEX(array,row_num,column_num)【例1-6】④MATCH(lookup_value,lookup_array,match_type)MATCH函數(shù)用于返回在指定方式下與指定數(shù)值匹配的數(shù)組中元素的相應位置。如果match_type為1,查找小于或等于lookup_value的最大數(shù)值,此時Lookup_array必須按升序排列;如果match_type為0,查找等于lookup_value的第一個數(shù)值,此時Lookup_array可以按任何順序排列;如果match_type為-1,查找大于或等于lookup_value的最小數(shù)值,此時Lookup_array必須按降序排列,如果省略match_type,則假設(shè)為1。目錄本節(jié)1.3公式與函數(shù)另外,查找文本值時,函數(shù)MATCH不區(qū)分大小寫字母,如果match_type為0且lookup_value為文本,lookup_value可以包含通配符“*”和“?”,其中星號可以匹配任何字符序列,問號可以匹配單個字符。如果函數(shù)MATCH查找不成功,則返回錯誤值#N/A。⑤OFFSET(reference,rows,cols,height,width)該函數(shù)以reference為參照系,通過給定偏移量而得到一個新的引用。目錄本節(jié)1.3公式與函數(shù)⑸數(shù)據(jù)庫函數(shù)①DAVERAGE(database,field,criteria)該函數(shù)用于返回列表或數(shù)據(jù)清單中滿足指定條件的列中數(shù)值的平均值。其中,參數(shù)database用于指定構(gòu)成數(shù)據(jù)清單或數(shù)據(jù)庫的單元格區(qū)域,它由若干行和若干列組成,其中第一行包含著每一列的標志項;field用于指定函數(shù)所要使用的數(shù)據(jù)列,可以是表示數(shù)據(jù)列名稱的字符串,也可以是表示數(shù)據(jù)列在數(shù)據(jù)清單中的位置的數(shù)字;criteria用于指定包含特定條件的單元格區(qū)域,至少包含一個列標志項和列標志項下方用于設(shè)定條件的單元格。目錄本節(jié)1.3公式與函數(shù)

②DSUM(database,field,criteria)③DCOUNT(database,field,criteria)④DMAX(database,field,criteria)⑤DMIN(database,field,criteria)⑥D(zhuǎn)GET(database,field,criteria)目錄本節(jié)1.3公式與函數(shù)【例1-7】⑹日期與時間函數(shù)①NOW()②TODAY()③YEAR(serial_number)MONTH(serial_number)DAY(serial_number)④WEEKDAY(serial_number[,return_type])目錄本節(jié)1.3公式與函數(shù)該函數(shù)用于返回指定日期是一周中的第幾天,返回值介于1~7或0~6之間。return_type取值范圍如下:設(shè)為1或省略,返回值1~7,表示從星期日到星期六;設(shè)為2,返回值1~7,表示從星期一到星期日;設(shè)為3,返回值為0~6,表示從星期一到星期日。例如,輸入公式“=weekday(today(),2)”,返回當前系統(tǒng)日期是星期幾;輸入公式“=weekday(date(2013,1,1),2)”將返回2,表示2013-1-1是星期二。目錄本節(jié)1.3公式與函數(shù)⑤HOUR(serial_number)MINUTE(serial_number)HOUR(serial_number)⑥TIME(hour,minute,second)⑦DATE(year,month,day)⑧DATEDIF(start_date,end_date,unit)該函數(shù)用于返回起始日期和結(jié)束日期之間的天數(shù)、月數(shù)或年數(shù)之差。unit代表比較單位,可以取“y”、“m”、“d”,分別代表年、月、日。目錄本節(jié)1.3公式與函數(shù)⑺數(shù)學和三角函數(shù)①ABS(number)②FACT(number)③INT(number)④ROUND(number,num_digits)⑤LOG(number,base)⑥POWER(number,power)⑦SQRT(number)⑧MOD(number,divisor)目錄本節(jié)1.3公式與函數(shù)

⑨RAND()該函數(shù)用于返回大于等于0且小于等于1的平均分布隨機數(shù),每次計算工作表時都將返回一個新的隨機數(shù)。例如,想得到一個1-100之間的隨機數(shù),可以定義公式“=1+rand()*(100-1)”。⑩SUMPRODUCT(array1,array2,array3,...)該函數(shù)返回參數(shù)指定數(shù)組對應元素乘積的和,其中array1、array2、array3...為2到30個數(shù)組。3.基本財務(wù)函數(shù)目錄本節(jié)1.3公式與函數(shù)⑴SLN(cost,salvage,life)該函數(shù)為直線法折舊計算函數(shù)。其中,參數(shù)cost為固定資產(chǎn)原值,salvage為預計凈殘值,life為預計使用期限。⑵DDB(cost,salvage,life,per[,factor])該函數(shù)為雙倍余額遞減法折舊計算函數(shù)。其中,參數(shù)cost為固定資產(chǎn)原值,salvage為預計凈殘值,life為預計使用期限,per指定要計提第幾期的折舊,factor為倍率,如果缺省將取2,即雙倍余額遞減法。目錄本節(jié)1.3公式與函數(shù)⑶SYD(cost,salvage,life,per)該函數(shù)為年數(shù)總和法折舊計算函數(shù)。其中,參數(shù)cost為固定資產(chǎn)原值,salvage為預計凈殘值,life為預計使用期限,per指定要計提第幾期的折舊。目錄本節(jié)1.3公式與函數(shù)【例1-8】⑷VDB(cost,salvage,life,start_period,end_period,[factor],[no_switch])該函數(shù)為倍率遞減法折舊計算公式。start_period、end_period分別為要計算折舊的起始期間;factor為倍率,如果缺省將取2,即雙倍余額遞減法;no_switch為FALSE或缺省時,當使用倍率余額遞減法計算的折舊小于平均年限法計算的折舊時,函數(shù)會轉(zhuǎn)換為平均年限法計算剩余期間的折舊額,no_switch為TRUE時,即使倍率余額遞減法計算的折舊已小于直線法計算的折舊,函數(shù)仍按倍率余額遞減法計算折舊,帶有no_switch參數(shù)時,factor參數(shù)不能省略。目錄本節(jié)1.3公式與函數(shù)【例1-9】

⑸NPV(rate,value1,value2,……)此函數(shù)為凈現(xiàn)值函數(shù)。參數(shù)rate是貼現(xiàn)率,value1、value2……是未來各期的現(xiàn)金流量。使用該函數(shù)時,應該注意以下兩點:一是參數(shù)value1、value2……分別代表未來第1期、第2期……的期末現(xiàn)金流量,初始投資不應出現(xiàn)在參數(shù)中,計算項目的凈現(xiàn)值時,只要計算未來各期的NPV與初始投資之差即可;二是參數(shù)value1、value2……的個數(shù)應在1~29之間。每個參數(shù)可以是數(shù)組或地址區(qū)域形式,但數(shù)組的元素個數(shù)不受此個數(shù)限制。目錄本節(jié)1.3公式與函數(shù)⑹IRR(values,guess)此函數(shù)為內(nèi)含報酬率函數(shù)。其中,參數(shù)values是連續(xù)期間的現(xiàn)金流量,guess是用戶所猜想的接近IRR結(jié)果的數(shù)值,一般可以省略。使用該函數(shù)時應該注意以下兩點:一是參數(shù)values必須是數(shù)組或地址區(qū)域,并且必須包含至少一個正數(shù)(現(xiàn)金流入)和負數(shù)(現(xiàn)金流出);二是values中的數(shù)據(jù)的先后順序代表了現(xiàn)金流量的期間順序,并且初始投資應作為現(xiàn)金流出出現(xiàn)在values中第一個數(shù)據(jù)位置。目錄本節(jié)1.3公式與函數(shù)【例1-10】

⑺FV(rate,nper,pmt,[pv],[type])該函數(shù)為終值函數(shù),可返回基于固定利率的、等額分期付款方式的某項投資的未來值,即年金的終值。其中,參數(shù)rate是復利利率;nper是年金的期數(shù);pmt是每期收支的金額,即年金,當pmt為負數(shù)時,函數(shù)結(jié)果為正,當pmt為正數(shù)時,函數(shù)結(jié)果為負;pv是指投資開始計算時已經(jīng)入賬的價值,缺省值為0;type是年金類型,當取1時表示預付年金,當取0或缺省時表示普通年金。如果缺省參數(shù)pmt,而給出pv參數(shù),則相當于計算普通復利終值。目錄本節(jié)1.3公式與函數(shù)

⑻PV(rate,nper,pmt,fv,type)該函數(shù)為現(xiàn)值函數(shù),可返回某項投資的一系列等額分期償還額的當前值之和,即年金的現(xiàn)值。其中,參數(shù)rate是復利利率;nper是年金的期數(shù);pmt是每期收支的金額,即年金,當pmt為負數(shù)時,函數(shù)結(jié)果為正,當pmt為正數(shù)時,函數(shù)結(jié)果為負;fv是在最后一次付款期后獲得的一次性償還額,缺省值為0;type是年金類型,當取1時表示預付年金,當取0或缺省時表示普通年金。如果缺省參數(shù)pmt,而給出fv參數(shù),則相當于計算普通復利現(xiàn)值。目錄本節(jié)1.3公式與函數(shù)

⑼PMT(rate,nper,pv,fv,type)此函數(shù)為年金函數(shù),可返回固定利率下投資或貸款的等額分期償還額,即年金,包括本金和利息。⑽PPMT(rate,per,nper,pv,fv,type)此函數(shù)為年金本金函數(shù),可返回在固定利率、期數(shù)下某項投資回報或貸款償還的本金部分。⑾IPMT(rate,per,nper,pv,fv,type)此函數(shù)為年金利息函數(shù),可返回在固定利率、期數(shù)下某項投資回報或貸款償還的利息部分。PMT()=PPMT()+IPMT()。目錄本節(jié)1.3公式與函數(shù)⑿NPER(rate,pmt,pv,fv,type)此函數(shù)為期數(shù)函數(shù),可返回每期付款金額及利率固定的某項投資或貸款的期數(shù)。例如,NPER(10%,-100,248.69)=3⒀RATE(nper,pmt,pv,fv,type,guess)此函數(shù)為利率函數(shù),在已知期數(shù)、每期付款及現(xiàn)值或終值的條件下,返回年金的每期利率。其中,參數(shù)guess是對利率的猜測數(shù),如果缺省,將假定為10%,如果RATE函數(shù)無法收斂,應該給出不同的guess重新計算。目錄本節(jié)1.3公式與函數(shù)【例1-11】【例1-12】【例1-13】【例1-14】

1.4.1圖表類型1.柱形圖2.條形圖3.折線圖4.餅圖5.圓環(huán)圖6.xy散點圖7.面積圖8.雷達圖9.氣泡圖目錄本節(jié)1.4圖表制作

1.4.2制作圖表在Excel2003及以下版本中制作圖表時,先選中數(shù)據(jù)源,然后單擊菜單【插入|圖表】,按照圖表向?qū)瓿蓤D表的制作。

在Excel2007及以上版本中制作圖表時,先選中數(shù)據(jù)源,然后在“插入”選項卡中單擊各類圖表按鈕,即可快速生成圖表。目錄本節(jié)1.4圖表制作圖表生成后,圖表區(qū)、繪圖區(qū)、水平軸、垂直軸、系列、網(wǎng)格線、圖例、圖表標題、坐標軸標題、數(shù)據(jù)標簽、數(shù)據(jù)表等各種圖表要素都可以根據(jù)需要單獨進行更改設(shè)置,此時,只需在相應要素上點擊鼠標右鍵,在快捷菜單選擇相應命令即可。在Excel2007及以上版本中,當用鼠標點擊圖表后,功能區(qū)將自動顯示“設(shè)計”、“布局”、“格式”等選項卡,用于執(zhí)行圖表的各項設(shè)置功能。目錄本節(jié)1.4圖表制作【例1-15】

1.5.1數(shù)據(jù)清單1.數(shù)據(jù)清單的概念在Excel中,數(shù)據(jù)庫是通過數(shù)據(jù)清單或列表來實現(xiàn)的。數(shù)據(jù)清單是一種包含一行列標題和多行數(shù)據(jù)且每行同列數(shù)據(jù)的類型和格式完全相同的Excel工作表。數(shù)據(jù)清單中的列對應數(shù)據(jù)庫中的字段,列標志對應數(shù)據(jù)庫中的字段名稱,每一行對應數(shù)據(jù)庫中的一條記錄。目錄本節(jié)1.5數(shù)據(jù)管理

2.構(gòu)建數(shù)據(jù)清單的要求為了使Excel自動將數(shù)據(jù)清單當作數(shù)據(jù)庫,構(gòu)建數(shù)據(jù)清單的要求主要有:⑴列標志應位于數(shù)據(jù)清單的第一行,用于查找和組織數(shù)據(jù)、創(chuàng)建報告。⑵同一列中各行數(shù)據(jù)項的類型和格式應當完全相同。⑶避免在數(shù)據(jù)清單中放置空白的行或列,但需將數(shù)據(jù)清單和其他數(shù)據(jù)隔開時,應在它們之間留出至少一個空白的行或列。⑷盡量在一張工作表上建立一個數(shù)據(jù)清單。目錄本節(jié)1.5數(shù)據(jù)管理

1.5.2記錄單1.記錄單的概念記錄單又稱數(shù)據(jù)記錄單,是快速添加、查找、修改或刪除數(shù)據(jù)清單中相關(guān)記錄的對話框。2.通過記錄單處理記錄清單的記錄⑴通過記錄單處理記錄的優(yōu)點通過記錄單處理記錄的優(yōu)點主要有:界面直觀,操作簡單,減少數(shù)據(jù)處理時行列位置的來回切換,避免輸入錯誤,特別適用于大型數(shù)據(jù)清單中記錄的核對、添加、查找、修改或刪除。目錄本節(jié)1.5數(shù)據(jù)管理⑵記錄單對話框的打開在Excel2003及以下版本中,打開記錄單對話框的方法是:輸入數(shù)據(jù)清單的列標志后,選中數(shù)據(jù)清單的任一個單元格,單擊菜單【數(shù)據(jù)|記錄單】即可。在Excel2007及以上版本中,可按以下方法來添加記錄單命令按鈕:①單擊Office按鈕【】,在出現(xiàn)的菜單中單擊【Excel選項】按鈕,出現(xiàn)“Excel選項”對話框。目錄本節(jié)1.5數(shù)據(jù)管理②在該對話框中單擊【自定義】,并在“從下列位置選擇命令”下拉框中選擇“所有命令”,然后在命令列表中找到并雙擊“記錄單”命令,將其添加到快速訪問工具欄。③設(shè)置完畢,單擊【確定】按鈕。此時,在Excel窗口中可以看到,【記錄單】命令按鈕已出現(xiàn)在快速訪問工具欄中。④在快速訪問工具欄中點擊記錄單按鈕【】即可打開記錄單對話框。目錄本節(jié)1.5數(shù)據(jù)管理⑶在記錄單對話框中輸入新記錄⑷利用記錄單對話框查找特定單元格⑸利用記錄單對話框核對或修改特定記錄⑹利用記錄單對話框刪除特定記錄1.5.3排序1.快速排序使用快速排序的操作步驟如下:⑴在數(shù)據(jù)清單中選定需要排序的各行記錄。⑵執(zhí)行工具欄或功能區(qū)中的【排序】命令。目錄本節(jié)1.5數(shù)據(jù)管理

2.自定義排序使用自定義排序的操作步驟為:⑴在【數(shù)據(jù)】菜單或功能區(qū)“數(shù)據(jù)”選項卡中單擊【排序】命令打開排序?qū)υ捒颍鐖D下所示。目錄本節(jié)1.5數(shù)據(jù)管理⑵在排序?qū)υ捒蛑性O(shè)置排序的列、排序依據(jù)及次序后,單擊【確定】按鈕。1.5.4篩選1.快速篩選

2.高級篩選目錄本節(jié)1.5數(shù)據(jù)管理【例1-16】【例1-17】

1.5.5分類匯總目錄本節(jié)1.5數(shù)據(jù)管理【例1-18】

1.5.6數(shù)據(jù)透視表1.數(shù)據(jù)透視表的創(chuàng)建2.數(shù)據(jù)透視表的設(shè)置【例1-19】

1.5.7數(shù)據(jù)有效性通過數(shù)據(jù)有效性設(shè)置,可以指定單元格中允許輸入的數(shù)據(jù)類型以、數(shù)據(jù)的有效范圍以及提示信息和出錯警告信息。設(shè)置單元格數(shù)據(jù)有效性時,只需選中要設(shè)置數(shù)據(jù)有效性的單元格或區(qū)域,然后在功能區(qū)“數(shù)據(jù)”選項卡界面中的“數(shù)據(jù)工具”功能組,單擊“數(shù)據(jù)有效性”,出現(xiàn)下拉菜單,選擇其中的“數(shù)據(jù)有效性”命令。目錄本節(jié)1.5數(shù)據(jù)管理【例1-20】

1.5.8報表匯總

1.按位置匯總:各報表結(jié)構(gòu)一致,可通過定義公式匯總。2.合并計算如果需要匯總的報表格式不同,需使用合并計算功能來完成匯總工作。在合并計算中,存放合并計算結(jié)果的工作表稱為“目標工作表”,其中接收合并數(shù)據(jù)的區(qū)域稱為“目標區(qū)域”,而被合并計算的各個工作表稱為“源工作表”,其中被合并計算的數(shù)據(jù)區(qū)域稱為“源區(qū)域”。目錄本節(jié)1.5數(shù)據(jù)管理【例1-21】【例1-22】

1.6.1單變量求解如果已知單個計算公式的預期結(jié)果,而用于確定此公式結(jié)果的輸入值未知,則可以使用單變量求解功能,可理解為已知因變量y反算某個自變量x。當進行單變量求解時,Excel會不斷改變可變單元格中的值,直到目標單元格的公式返回所需的結(jié)果為止。在目標單元格中設(shè)置正確的計算公式,是進行單變量求解的前提。目錄本節(jié)1.6假設(shè)分析【例1-23】

1.6.2模擬運算表模擬運算表(Excel2007中稱之為“數(shù)據(jù)表”)是通過假設(shè)分析的方法進行數(shù)值預測,從而觀察公式中某些變量的不同組合對因變量即公式結(jié)果的影響。利用模擬運算表,可以在一次操作過程中完成多組不同數(shù)值的計算,并將不同結(jié)果同時顯示在工作表中,便于查看、比較和分析。1.單變量模擬運算單變量模擬運算可以考察某一個自變量的不同取值對一個或多個因變量即公式的影響。目錄本節(jié)1.6假設(shè)分析【例1-24】

2.雙變量模擬運算雙變量模擬運算可以考察兩個自變量不同取值組合對一個因變量即公式的影響,但操作時一定要注意,計算公式一定位于行變量和列變量左上角交叉單元格,否則無法正確地進行模擬運算。目錄本節(jié)1.6假設(shè)分析【例1-25】

1.6.3方案管理器方案是Excel保存在工作表中并可進行自動替換的一組值。用戶可以使用方案來預測工作表模型的輸出結(jié)果。同時,還可以在工作表中創(chuàng)建并保存不同的數(shù)組值,然后切換到任意新方案以查看不同的結(jié)果或者通過創(chuàng)建方案匯總報告來對比各種方案。1.建立方案2.顯示方案結(jié)果3.對比方案4.刪除、編輯方案目錄本節(jié)1.6假設(shè)分析【例1-26】

1.6.4規(guī)劃求解

1.規(guī)劃求解概述

(1)在經(jīng)濟決策中,經(jīng)常會遇到一些最優(yōu)解的問題。例如,如何安排生產(chǎn)會使得利潤最大化、什么情況下成本最低、現(xiàn)金持有量為多少時現(xiàn)金持有總成本最低、訂貨量為多少時存貨總成本最低等等。Excel提供了規(guī)劃求解功能,利用規(guī)劃求解工具,只要輸入基本數(shù)據(jù)并定義好相關(guān)計算公式,就可以快速簡便地得到最優(yōu)解及其條件值。目錄本節(jié)1.6假設(shè)分析

(2)利用規(guī)劃求解,可求得工作表上某個單元格(目標單元格)中公式的最優(yōu)值。規(guī)劃求解將對直接或間接與目標單元格公式相關(guān)聯(lián)的一組單元格(可變單元格)中的數(shù)值進行調(diào)整,最終在目標單元格公式中求得最優(yōu)解。

(3)求解最優(yōu)解的問題,大致可以分為兩類:線性問題和非線性問題。所謂線性優(yōu)化問題,是指自變量與因變量間的函數(shù)關(guān)系是線性的。所謂非線性優(yōu)化問題,是指自變量與因變量間的函數(shù)關(guān)系是非線性的。規(guī)劃求解工具可以同時解決線性和非線性優(yōu)化求解問題,只要設(shè)置相關(guān)參數(shù)即可。目錄本節(jié)1.6假設(shè)分析

(4)規(guī)劃求解功能需要事先加載后才能使用。在Excel2007選項對話框中,在左側(cè)選擇“加載項”,在右側(cè)單擊“轉(zhuǎn)到”按鈕,可出現(xiàn)加載宏對話框,選中其中的“規(guī)劃求解加載項”,然后單擊“確定”按鈕進行安裝。加載后,在功能區(qū)“數(shù)據(jù)”選項卡中出現(xiàn)一個新的命令組“分析”,其中便含有“規(guī)劃求解”命令。2.規(guī)劃求解需設(shè)置的參數(shù)(1)目標單元格目錄本節(jié)1.6假設(shè)分析目標單元格是希望求解其最優(yōu)解的單元格,如利潤、成本所在的單元格。目標單元格應當定義與可變單元格相關(guān)的計算公式,這樣才能使得目標單元格與可變單元格聯(lián)動,進而才能夠求解目標單元格最優(yōu)解以及可變單元格相應值。(2)可變單元格可變單元格是影響目標單元格值的那些決策變量所在的單元格,這些單元格的值是可變的。規(guī)劃求解正是通過不斷調(diào)整各可變單元格的值來逐步找出目標單元格的最優(yōu)解。(3)約束條件目錄本節(jié)1.6假設(shè)分析在現(xiàn)實的經(jīng)濟決策中,肯定會面臨著各式各樣的約束條件,沒有這些約束條件也就無法求的問題的最優(yōu)解。在規(guī)劃求解過程中,可以設(shè)置多個約束條件,約束條件可以針對任何單元格,但應與可變單元格存在直接或間接的運算關(guān)系。3.建立規(guī)劃求解報告應用Excel中的“規(guī)劃求解”功能不僅能夠在工作表中顯示求解結(jié)果,而且能夠產(chǎn)生分析報告以供用戶作為參考。規(guī)劃求解可以產(chǎn)生“運算結(jié)果報告”、“敏感性報告”和“極限值報告”三種分析報告。目錄本節(jié)1.6假設(shè)分析【例1-27】

Excel提供了兩種類型的控件:ActiveX控件和表單控件。ActiveX控件與VisualBasic語言中的控件相似,可以添加到VisualBasic編輯器自定義窗體中,適用范圍更加廣泛,功能也更加強大,例如可以響應各種事件,但是使用起來也相對較為復雜,需要用戶熟悉VBA知識。對于一般用戶來說,表單控件更加簡單實用,即使不懂得VBA知識的用戶也可以直接在工作表中使用這些控件。表單控件主要包括標簽、分組框、按鈕、復選框、單選鈕、列表框、組合框、滾動條和微調(diào)項。目錄本節(jié)1.7窗體工具在Excel2007中使用表單工具,需要事先在Excel選項對話框中的“常用”項中,選中“在功能區(qū)顯示‘開發(fā)工具’選項卡”。設(shè)置該選項后,功能區(qū)會出現(xiàn)“開發(fā)工具”選項卡,在該選項卡中單擊“插入”按鈕會出現(xiàn)下拉菜單,其中就包括了表單控件工具欄和ActiveX控件工具欄。1.7.1標簽1.功能標簽一般用于顯示提示信息,只用于顯示信息而不能進行編輯。目錄本節(jié)1.7窗體工具

2.使用方法在工作表中使用標簽控件時,只要在表單工具欄中單擊“”按鈕,然后在工作表中按下鼠標左鍵并拖動鼠標即可畫出一個標簽。直接用鼠標左鍵單擊標簽即可選中該標簽。當選中標簽時,可以直接更改標簽的顯示內(nèi)容;將鼠標指針指向標簽邊框并按下鼠標左鍵即可移動標簽;當標簽處于編輯狀態(tài)時,如果處于文字編輯狀態(tài),先用鼠標單擊其邊框退出文字編輯狀態(tài),然后按<Delete>鍵即可刪除標簽。目錄本節(jié)1.7窗體工具

1.7.2分組框1.功能分組框是一個容器對象,可以容納一個或多個其它對象。特別是當多個單選鈕放置在同一分組框之中時,這多個單選鈕將被視為一組,用戶只能選擇其中之一,而不同分組框之內(nèi)的單選鈕是無關(guān)的。2.使用方法目錄本節(jié)1.7窗體工具在工作表中使用分組框控件時,只要在表單工具欄中單擊“”按鈕,然后在工作表中按下鼠標左鍵并拖動鼠標即可畫出一個分組框。直接用鼠標左鍵單擊分組框即可選中該分組框。當選中分組框時,可以直接更改分組框的標題;將鼠標指針指向分組框邊框并按下鼠標左鍵即可移動分組框;當分組框處于編輯狀態(tài)時,如果處于文字編輯狀態(tài),先用鼠標單擊其邊框退出文字編輯狀態(tài),然后按<Delete>鍵即可刪除分組框。目錄本節(jié)1.7窗體工具

1.7.3按鈕1.功能按鈕一般用于執(zhí)行某個宏。當按鈕處于運行狀態(tài)時,用鼠標左鍵單擊按鈕將自動執(zhí)行為該按鈕所指定的宏。2.使用方法在表單工具欄中單擊“”按鈕,然后在工作表中按下鼠標左鍵并拖動鼠標即可畫出一個按鈕。此時,會要求用戶為其指定一個宏或新錄制一個宏。將來可在按鈕上單擊鼠標右鍵,出現(xiàn)快捷菜單,然后從快捷菜單中選擇“指定宏”。目錄本節(jié)1.7窗體工具當按鈕處于運行狀態(tài)(未選中狀態(tài))時,直接用鼠標左鍵單擊按鈕時將執(zhí)行為其指定的宏;右鍵單擊按鈕即可使該按鈕轉(zhuǎn)為編輯狀態(tài),同時會出現(xiàn)快捷菜單,從快捷菜單中選擇“編輯文字”可以編輯按鈕所顯示的文本內(nèi)容,直接按<ESC>鍵可以取消快捷菜單;當選中按鈕時,將鼠標指針指向按鈕邊框并按下鼠標左鍵即可移動按鈕;當按鈕處于編輯狀態(tài)時,如果處于文字編輯狀態(tài),先用鼠標單擊其邊框退出文字編輯狀態(tài),然后按<Delete>鍵即可刪除按鈕。目錄本節(jié)1.7窗體工具

1.7.4復選框1.功能復選框用于為用戶提供若干選項,并且這些選項之間的選擇與否是無關(guān)的,即用戶可以任意從中選擇一個、多個選項或者一個也不選擇。2.使用方法在工作表中使用復選框控件時,只要在表單工具欄中單擊“”按鈕,然后在工作表中按下鼠標左鍵并拖動鼠標即可畫出一個復選框,不同類型的復選框可以放置在不同的分組框中。目錄本節(jié)1.7窗體工具

3.參數(shù)設(shè)置右鍵單擊復選框,然后從快捷菜單中選擇“設(shè)置控件格式”,可設(shè)置復選框的各種參數(shù)??刂七x項卡參數(shù):⑴當前值。當復選框處于未選擇狀態(tài)時,其值為“FALSE”;當復選框處于已選擇狀態(tài)時,其值為“TRUE”;當復選框處于混合狀態(tài)時,表示用戶尚未做出任何選擇,其值為“#N/A”。當復選框處于運行狀態(tài)時,只能在已選擇和未選擇兩個狀態(tài)間切換。目錄本節(jié)1.7窗體工具⑵單元格鏈接。可以將復選框的值鏈接到某個單元格中,這樣將來可以通過引用該單元格的值來判斷用戶所做的選擇。1.7.5單選鈕1.功能一組單選鈕可為用戶提供若干選項,并且這些選項之間的選擇是互斥的,即用戶只能從同一組單選鈕中選擇某一個單選鈕。2.使用方法目錄本節(jié)1.7窗體工具在工作表中使用單選鈕控件時,只要在表單工具欄中單擊“”按鈕,然后在工作表中按下鼠標左鍵并拖動鼠標即可畫出一個單選鈕,不同類型的單選鈕可以放置在不同的分組框中。3.參數(shù)設(shè)置右鍵單擊單選鈕,然后從快捷菜單中選擇“設(shè)置控件格式”,可設(shè)置單選鈕的各種參數(shù)??刂七x項卡參數(shù):⑴當前值。單選鈕的狀態(tài)有兩種:未選擇和已選擇。在設(shè)置同一組單選鈕時,可以將某個單選鈕的初值設(shè)置為已選擇,此時其它單選鈕自動被設(shè)置為未選擇。目錄本節(jié)1.7窗體工具⑵單元格鏈接??梢詫芜x鈕的值鏈接到某個單元格中,這樣將來可以通過引用該單元格的值來判斷用戶所做的選擇。需要注意的是,由于在同一時刻只能選中同一組單選鈕中的一個,所以同一組單選鈕所鏈接到的單元格會自動被設(shè)置為同一個單元格。1.7.6列表框1.功能列表框以列表的形式將各備選項顯示出來供用戶選擇,用戶可以從中選擇某一個或多個選項。目錄本節(jié)1.7窗體工具

2.使用方法在工作表中使用列表框控件時,只要在表單工具欄中單擊“”按鈕,然后在工作表中按下鼠標左鍵并拖動鼠標即可畫出一個列表框。3.參數(shù)設(shè)置右鍵單擊列表框,然后從快捷菜單中選擇“設(shè)置控件格式”,可設(shè)置列表框的各種參數(shù)??刂七x項卡參數(shù):⑴數(shù)據(jù)源區(qū)域⑵單元格鏈接目錄本節(jié)1.7窗體工具⑶選定類型。選定類型包括三種:單選、復選和擴展。如果選定類型為單選,將來在該列表框中用戶同時只能選擇一個選項;如果選定類型為復選,將來在該列表框中用戶同時可以選擇多個選項,只要依次單擊要選擇的選項即可;如果選定類型為擴展,將來在該列表框中用戶同時可以選擇多個選項,如果要選擇多個選項的話,需要按下<Ctrl>鍵,然后再依次單擊要選擇的選項,或者按下<Shift>鍵,然后再分別單擊要選擇的第一個選項和要選擇的最后一個選項,此時第一選項和最后一個選項之間的各選項將同時被連續(xù)選中。目錄本節(jié)1.7窗體工具

1.7.7組合框組合框的使用與列表框類似,只不過是在下拉框中顯示各選項,而不是像列表框那樣將所有選項同時在列表中顯示出來。另外,在組合框中同時只能選擇一個選項。組合框控件的的按鈕是“”,具體用法同前。1.7.8滾動條1.功能當某個項目的數(shù)值在一定范圍內(nèi)變化時,可以利用滾動條來設(shè)置該項目值,而不必從鍵盤輸入。目錄本節(jié)1.7窗體工具

2.使用方法在工作表中使用滾動條控件時,只要在表單工具欄中單擊“”按鈕,然后在工作表中按下鼠標左鍵并拖動鼠標即可畫出一個滾動條。當滾動條處于運行狀態(tài)時,可直接用鼠標左鍵單擊滾動條的兩個箭頭按鈕來調(diào)整值(變化量稱之為步長),或用鼠標左鍵來拖動滾動條的滑塊來調(diào)整值,或在滑塊和箭頭按鈕之間單擊鼠標左鍵來調(diào)整值(變化量稱之為頁步長)。目錄本節(jié)1.7窗體工具

3.參數(shù)設(shè)置右鍵單擊滾動條,然后從快捷菜單中選擇“設(shè)置控件格式”,可設(shè)置滾動條的各種參數(shù)??刂七x項卡參數(shù):⑴當前值。當前值用于設(shè)置或顯示滾動條的初值。⑵最小值。即滾動條所能設(shè)置的最小數(shù)值,默認為0,只能是介于0至30000之間的整數(shù)。⑶最大值。即滾動條所能設(shè)置的最大數(shù)值,默認為100,只能是介于0至30000之間的整數(shù)且不能小于最小值。目錄本節(jié)1.7窗體工具⑷步長。步長是指當用鼠標左鍵單擊滾動條的兩個箭頭時值的變化量,默認值為1,只能是介于0至30000之間的整數(shù)。⑸頁步長。頁步長是指在滑塊和箭頭按鈕之間單擊鼠標左鍵時值的變化量,默認值為10,只能是介于0至30000之間的整數(shù)。⑹單元格鏈接。可以將滾動條的值鏈接到某個單元格,這樣將來通過直接或間接引用鏈接單元格的值可得到預期結(jié)果。4.數(shù)據(jù)范圍設(shè)置技巧目錄本節(jié)1.7窗體工具因為滾動條的數(shù)值范圍只能是0至30000之間的整數(shù),所以當希望的數(shù)值范圍不在該區(qū)間之內(nèi)時需要進行一些轉(zhuǎn)換。

現(xiàn)舉例如下:

(1)某項目的數(shù)值范圍是-20至20,此時可以將滾動條的數(shù)值范圍設(shè)置為0至40,鏈接單元格(假定為“A1”)的值作為中間值,在項目單元格定義公式“=A1-20”,那么項目單元格的數(shù)值范圍就符合要求了。目錄本節(jié)1.7窗體工具

(2)某項目的數(shù)值范圍是1.0%至20.0%的百分數(shù)且有一位小數(shù),此時可以將滾動條的數(shù)值范圍設(shè)置為1至200、步長設(shè)置為1、頁步長設(shè)置為10,鏈接單元格(假定為“A1”)的值作為中間值,在項目單元格定義公式“=A1/1000”,那么項目單元格的數(shù)值范圍就符合要求了,并且給人的感覺是步長為0.1%,而頁步長為1%。目錄本節(jié)1.7窗體工具

1.7.9微調(diào)項微調(diào)項的使用與滾動條類似,只不過微調(diào)項控件不具有滑塊,不能按頁步長變化,只能按步長變化,一般用于小范圍數(shù)值的設(shè)置。微調(diào)項控件的的按鈕是“”。目錄本節(jié)1.7窗體工具【例1-28】

1.8.1保護工作簿1.保護工作簿結(jié)構(gòu)和窗口通過對工作簿結(jié)構(gòu)的保護,可以限制用戶在該工作簿中插入、刪除、移動和復制、隱藏和恢復工作表,也可以限制對工作表重命名。通過對工作簿窗口的保護,可以限制用戶對該工作簿窗口進行放大、縮小、移動等操作。目錄本節(jié)1.8數(shù)據(jù)保護【例1-29】

2.設(shè)置工作簿打開權(quán)限密碼和修改權(quán)限密碼Excel可以設(shè)置Excel工作簿文件的打開權(quán)限密碼或修改權(quán)限密碼。對于設(shè)置了打開權(quán)限密碼的Excel文件,只有輸入了正確的密碼才能打開文件;對于設(shè)置了修改權(quán)限密碼的Excel文件,只有輸入了正確的密碼才能修改文件,否則只能以只讀的方式打開文件,即只能瀏覽而無法修改文件。目錄本節(jié)1.8數(shù)據(jù)保護【例1-30】

1.8.2保護工作表1.保護整張工作表目錄本節(jié)1.8數(shù)據(jù)保護【例1-31】

2.保護工作表中的部分區(qū)域【例1-32】

3.設(shè)置允許用戶編輯區(qū)域【例1-33】目錄本節(jié)1.某集團產(chǎn)品銷售面向全國市場,該集團設(shè)有四個工廠,生產(chǎn)產(chǎn)品供全國銷售,分別在北京、上海、深圳、廣州設(shè)有銷售公司。每個銷售公司負責本地區(qū)的市場銷售,各區(qū)域的最大市場需求和銷售價格,每個工廠的單位產(chǎn)品成本、固定成本和產(chǎn)能,以及從各工廠到各銷售公司的運輸成本資料分別如下表所示。

要求:利用規(guī)劃求解功能求解實現(xiàn)集團利潤最大化的生產(chǎn)和運輸安排。思考題目錄本節(jié)2.如下圖所示?,F(xiàn)進行一項關(guān)于期望房價的調(diào)查,調(diào)查內(nèi)容包括:性別、年齡、年收入、婚否和期望房價。其中年齡分為25歲以下、25-35歲、35-50、50以上;年收入分為3萬以下、3-5萬、5-10萬、10-20萬、20萬以上;期望房價范圍在5000-20000元之間。要求如下:⑴設(shè)置各控件屬性,并在調(diào)查結(jié)果區(qū)域定義公式顯示調(diào)查結(jié)果。⑵保護工作表,只允許用戶通過窗體工具進行相關(guān)操作,而不能在工作表中直接輸入任何數(shù)據(jù)。目錄本節(jié)思考題目錄本節(jié)思考題3.科目發(fā)生額余額表如下表所示。要求:在某單元格輸入科目后,自動顯示該科目的期初余額、借方發(fā)生額、貸方發(fā)生額和期末余額。目錄本節(jié)思考題目錄本節(jié)思考題科目期初余額借方發(fā)生額貸方發(fā)生額期末余額長期借款1500001500固定資產(chǎn)5000100006000庫存現(xiàn)金100010001100實收資本4000004000未分配利潤1000010002000銀行存款100010001100應付賬款50002007004.固定資產(chǎn)信息如下表所示。按要求進行以下操作:⑴設(shè)置數(shù)據(jù)有效性,要求:購置日期只能輸入截至當日的當月有效日期;設(shè)備名稱長度介于1至10之間;原值為大于等于1000的數(shù);預計凈殘值大于等于0小于原值;預計使用年限為大于等于2的整數(shù);折舊方法設(shè)置為序列,選項包括:年限平均法、年數(shù)總和法和雙倍余額遞減法。⑵根據(jù)固定資產(chǎn)信息,制作折舊表,計算各年折舊和累計折舊。目錄本節(jié)思考題目錄本節(jié)思考題購置日期2013/1/1設(shè)備名稱車床原值50000預計凈殘值5000預計使用年限5折舊方法平均年限法5.銷售記錄如下表(接下頁)所示。要求篩選銷售一部2013年1月和銷售二部2013年2月的銷售記錄,并顯示在A20開始的區(qū)域。目錄本節(jié)思考題日期部門商品單價銷量銷售額2013/1/1銷售一部彩電10000151500002013/1/10銷售一部空調(diào)300020600002013/1/20銷售二部彩電11000101100002013/1/30銷售二部空調(diào)28003084000

續(xù)表目錄本節(jié)思考題2013/2/1銷售一部彩電11000202200002013/2/10銷售一部空調(diào)2900501450002013/2/20銷售二部彩電11000303300002013/2/28銷售二部空調(diào)2850451282502013/3/1銷售一部彩電11000505500002013/3/15銷售一部空調(diào)290030870002013/1/20銷售二部彩電11000202200002013/1/20銷售二部空調(diào)2850601710002013/1/30銷售一部彩電11000303300002013/1/30銷售一部空調(diào)2900501450002013/1/30銷售二部彩電11000404400002013/1/30銷售二部空調(diào)285055156750第2章財務(wù)建模技術(shù)—VBA語言精要【本章重點】宏的錄制宏的執(zhí)行數(shù)字簽名2.1

VBA與宏2.2對象及其屬性、方法和事件2.3VBA語法2.4VBA運算符本章目錄【課后習題】2.5VBA語句2.6過程和函數(shù)2.7錯誤處理目錄本節(jié)2.1VBA與宏

2.1.1VBA簡介

VBA即VisualBasicForApplication繼承于程序設(shè)計語言VisualBasic,可以看作是VB的一個子集。但是,VBA不能獨立應用,必須依賴于某種宿主應用程序,如Excel、Word等。

從Office97版以后,VBA同時邦定到了Office辦公軟件的所有應用程序,如Word、Excel、Access、Powerpoint、Outlook等,成為了真正意義上的“共享語言”。目錄本節(jié)2.1VBA與宏

2.1.2宏宏是一系列Excel能夠執(zhí)行的VBA語句,它是一個指令的集合,可以使Excel自動執(zhí)行用戶錄制的一系列操作的集合。在Excel中,可以直接錄制并運行宏,而無須用戶掌握任何VBA編程基礎(chǔ)。當錄制宏時,Excel會自動記錄用戶所執(zhí)行的一系列命令組合。當執(zhí)行所錄制的宏時,Excel會自動進行“回放”,將所錄制的命令組合重新執(zhí)行一次。目錄本節(jié)2.1VBA與宏

1.錄制宏⑴在功能區(qū)“開發(fā)工具”選項卡中,單擊“錄制宏”,出現(xiàn)錄制新宏對話框。⑵輸入宏的名稱“zt_kt”,也可為宏指定快捷鍵,如“<Ctrl>+a”,然后單擊“確定”按鈕,進入錄制狀態(tài),同時“錄制宏”按鈕變?yōu)椤巴V逛浿啤?。⑶?zhí)行需要錄制的操作。

⑷宏錄制完畢,單擊“停止錄制”按鈕停止該宏的錄制。目錄本節(jié)2.1VBA與宏

2.理解宏3.執(zhí)行宏⑴通過工具按鈕執(zhí)行宏在功能區(qū)“開發(fā)工具”選項卡中,單擊“宏”,在此選擇需要執(zhí)行的宏。⑵通過快捷鍵執(zhí)行宏如果在錄制宏的過程中,為宏指定了快捷鍵,可以直接按快捷鍵執(zhí)行該宏。目錄本節(jié)2.1VBA與宏⑶通過表單工具中的命令按鈕執(zhí)行宏⑷通過圖形對象執(zhí)行宏⑸將已有宏添加至快速訪問工具欄在Excel2007選項對話框中,選擇“自定義”,然后在“從下列位置選擇命令”下拉框中選擇“宏”,系統(tǒng)會列出已有宏,選擇需要的宏,再單擊“添加”按鈕將其添加至快速訪問工具欄。此時,快速訪問工具欄中便會出現(xiàn)一個新的工具按鈕,單擊此按鈕可執(zhí)行其代表的宏。目錄本節(jié)2.1VBA與宏在Excel2003中,還可通過以下方法執(zhí)行宏:⑹通過自定義工具按鈕執(zhí)行宏⑺通過自定義菜單執(zhí)行宏4.數(shù)字簽名

(1)如果需要保留宏功能,應將文件另存為“Excel啟用宏的工作簿(*.xlsm)”文件。

(2)在功能區(qū)“開發(fā)工具”選項卡中,單擊“宏安全性”按鈕,可設(shè)置宏安全選項,如圖所示:目錄本節(jié)2.1VBA與宏目錄本節(jié)2.1VBA與宏

(3)為避免宏帶來的潛在安全問題,可選擇“禁用無數(shù)字簽署的所有宏”,并對含有宏的工作簿文件進行數(shù)字簽名。經(jīng)過數(shù)字簽名驗證的宏可以和未經(jīng)簽名驗證的宏區(qū)分開來,既可以在較高的安全級別上運行,同時又可以避免未經(jīng)驗證的代碼惡意入侵。(4)可以利用MicrosoftOffice提供的“VBA項目的數(shù)字證書”工具來創(chuàng)建一個個人數(shù)字證書以進行自我驗證。目錄本節(jié)2.1VBA與宏

(3)為避免宏帶來的潛在安全問題,可選擇“禁用無數(shù)字簽署的所有宏”,并對含有宏的工作簿文件進行數(shù)字簽名。經(jīng)過數(shù)字簽名驗證的宏可以和未經(jīng)簽名驗證的宏區(qū)分開來,既可以在較高的安全級別上運行,同時又可以避免未經(jīng)驗證的代碼惡意入侵。(4)可以利用MicrosoftOffice提供的“VBA項目的數(shù)字證書”工具來創(chuàng)建一個個人數(shù)字證書以進行自我驗證。目錄本節(jié)2.1VBA與宏

(5)可以運行“開始|所有程序|MicrosoftOffice|MicrosoftOffice工具|VBA項目的數(shù)字證書”來創(chuàng)建個人數(shù)字證書。

(6)打開包含宏的工作簿,進入VisualBasic開發(fā)環(huán)境,選擇菜單“工具|數(shù)字簽名”,可利用個人數(shù)字證書對包含宏的工作簿進行簽名。(7)刪除數(shù)字證書。可通過Windows控制面板中的“Internet選項”來刪除數(shù)字證書。目錄本節(jié)2.1VBA與宏

2.1.3VBA開發(fā)環(huán)境2.1.4執(zhí)行VBA程序的方法除前文介紹的執(zhí)行宏的幾種常見方法外,還可以通過以下幾種方法來執(zhí)行VBA程序。

1.在VBE中執(zhí)行VBA程序2.通過事件觸發(fā)執(zhí)行VBA程序3.通過自定義菜單欄執(zhí)行VBA程序目錄本節(jié)2.2對象及其屬性、方法和事件

2.2.1對象所謂對象,是指把實現(xiàn)某功能的代碼和數(shù)據(jù)封裝成一個可以整體調(diào)用的組合單元。ExcelVBA提供了很多的對象,如工作簿、工作表、區(qū)域、菜單、工具欄、窗體、圖形、圖表等,并且各對象之間相互關(guān)聯(lián),構(gòu)成了一個有機的整體。Application對象位于最上層,代表了整個Excel應用程序,它包括了應用程序的各種選項以及當前活動的各種對象。目錄本節(jié)2.2對象及其屬性、方法和事件在VBA中,要訪問一個對象,就必須清楚該對象在對象體系中所處的位置,并利用對方訪問運算符“·”從包含該對象的最上層對象開始由上至下逐層訪問下級對象一直到要訪問的對象位置(有時候某些上層對象可以省略)。例如,要訪問工作表“Sheet1”的“A1”單元格,語法格式為:Application.ActiveWorkbook.Worksheets(“sheet1”).Range(”A1”),或者簡寫為:Worksheets("sheet1”).Range(”A1”)。目錄本節(jié)2.2對象及其屬性、方法和事件

2.2.2屬性屬性就是對象所具有的特性。不同的對象可能具有相同的屬性,如名稱等,但往往是不同的對象具有不同的屬性。屬性的取值稱為屬性值。屬性一般只讀和非只讀之分,只讀屬性在程序運行期間是不能動態(tài)更新的,只能讀??;而非只讀屬性在程序運行期間可以動態(tài)更新。通過為對象賦予不同的屬性值可以改變對象的特征。為對象的屬性賦值有以下兩種方法:目錄本節(jié)2.2對象及其屬性、方法和事件

1.一種是在設(shè)計狀態(tài)下通過VBE中的屬性窗口進行靜態(tài)設(shè)置。2.在程序運行過程中利用賦值語句進行動態(tài)設(shè)置,其一般格式為:<對象名>·<屬性名>=<屬性值>。例如,可以使用以下VBA語句將當前工作表“A1:F5”區(qū)域的字體顏色設(shè)置為紅色:ActiveSheet.Range(“A1:F5”).Font.Color=RGB(255,0,0)目錄本節(jié)2.2對象及其屬性、方法和事件

2.2.3方法方法是對象所能夠支持的某些特定行為和動作,如查找、刪除、顯示、打印等。調(diào)用對象方法的一般格式為:[<對象名>·]<方法名>[參數(shù)]。當缺省對象時,默認的對象是當前窗體。有的方法是帶參數(shù)的,而有的方法可能不帶參數(shù)。每種對象都支持一些特定的方法。例如,可以使用以下VBA語句,對當前工作簿的“sheet1”工作表進行保護:目錄本節(jié)2.2對象及其屬性、方法和事件

2.2.3方法Worksheets(“sheet1”).protect“password”,其中protect是方法名,password是密碼。

再如,可以使用以下VBA語句取消對當前工作簿的“sheet1”工作表的保護:Worksheets(“sheet1”).Unprotect“password”,其中Unprotect是方法名,password是密碼。

2.2.4事件VBA程序的執(zhí)行是由事件驅(qū)動的。事件是由VBA預先設(shè)置好的能被對象識別的特定動作。系統(tǒng)會為每個事件規(guī)定一個名字,如Click、DblClick、MouseMove、KeyPress等。當用戶操作觸發(fā)了某個系統(tǒng)事件后,該事件所對應的子過程就會被執(zhí)行,事件過程的格式如下:Sub<對象名>_<事件名>([參數(shù)])……EndSub目錄本節(jié)2.2對象及其屬性、方法和事件在設(shè)計VBA程序時,只要在相應的事件過程中編寫特定的程序代碼即可,然后該程序代碼便會由事件驅(qū)動而被執(zhí)行。例如,在工作表中添加一個命令按鈕,其名稱為“cmd1”。我們希望,當用戶單擊該按鈕時將對當前工作表進行保護。按照事件驅(qū)動的思路,只要編寫以下事件過程即可。Subcmd1_Click()Activesheet.ProtectEndSub目錄本節(jié)2.2對象及其屬性、方法和事件

2.3.1VBA的關(guān)鍵字和標識字符1.關(guān)鍵字在VBA中,系統(tǒng)規(guī)定了一些固定的帶有特殊意義的字符串,這些字符串就是關(guān)鍵字,包括語句、運算符、符號常量等等。用戶不能改變關(guān)鍵字,并且在定義宏名、變量名等字符串時,不能與這些關(guān)鍵字相同。VBA中常用的關(guān)鍵字如下表所示:目錄本節(jié)2.3VBA語法目錄本節(jié)2.3VBA語法

2.3.2VBA的數(shù)據(jù)類型1.基本數(shù)據(jù)類型VBA提供了豐富的數(shù)據(jù)類型,這些數(shù)據(jù)類型可用于變量和常量。不同的數(shù)據(jù)類型有不同的存儲空間,對應的數(shù)值范圍也有所不同。VBA提供的常用數(shù)據(jù)類型如下表所示:目錄本節(jié)2.3VBA語法目錄本節(jié)2.3VBA語法

2.自定義數(shù)據(jù)類型利用VBA的基本數(shù)據(jù)類型還可以構(gòu)造用戶自己的數(shù)據(jù)類型,方法是使用Type命令。

可以在標準模塊、窗體、工作表的聲明部分定義私有自定義數(shù)據(jù)類型,此時自定義數(shù)據(jù)類型只限于在聲明它的模塊、窗體或工作表中使用。另外,在標準模塊中還可以定義公共自定義數(shù)據(jù)類型,此時自定義數(shù)據(jù)類型在工作簿的各模塊、窗體或工作表中均可用。目錄本節(jié)2.3VBA語法定義了一種新的數(shù)據(jù)類型后,利用該數(shù)據(jù)類型可以聲明變量。引用自定義數(shù)據(jù)類型的變量時,一定要注意只能引用變量的成員,而不能直接引用變量。2.3.3VBA的常量與變量1.常量常量用于保存固定數(shù)據(jù),其值在程序運行過程中不能改變。對于重復使用而又難以記憶的數(shù)值,可以將其聲明為符號常量以增加程序的可讀性和可維護性。目錄本節(jié)2.3VBA語法聲明符號常量要用關(guān)鍵字Const,其語法格式如下:[Public|Private]Const<常量名>[As<數(shù)據(jù)類型>]=<表達式>……關(guān)鍵字Public用于聲明公共全局常量,這種符號常量將可以在工作簿內(nèi)所有模塊、窗體和工作表的子過程、函數(shù)中使用;Private一般用于聲明私有模塊級常量,這種符號常量將只能用于聲明它的模塊、窗體或工作表中的子過程和函數(shù)中;省略Public和Private時,將用于聲明過程級局部變量,這種符號常量只能在聲明它的過程中使用。目錄本節(jié)2.3VBA語法

2.變量變量用于臨時保存數(shù)據(jù),而且其值在程序運行過程中可以改變。變量按其生存期可分為靜態(tài)變量和動態(tài)變量;按其作用域可分為局部變量、公共變量和私有模塊級變量。聲明變量的語法格式如下:{Dim|Private|Public|Static}<變量名>[As<類型>][,<變量名2>][As<類型2>]……目錄本節(jié)2.3VBA語法關(guān)鍵字Dim用于聲明過程級局部動態(tài)變量,其作用域僅限于聲明它的子過程,退出該子過程該變量不再可用,并且被釋放。

關(guān)鍵字Private一般用于聲明私有模塊級動態(tài)變量,其作用域限于聲明它的模塊、窗體或工作表,退出該模塊或窗體后該變量將不再可用,并且被釋放。

關(guān)鍵字Public用于聲明公共全局變量,其作用域是整個工作簿的各個模塊、窗體和工作表的所有子過程和函數(shù),在程序運行期間一直都存在。目錄本節(jié)2.3VBA語法關(guān)鍵字Static用于聲明靜態(tài)過程級局部變量,靜態(tài)變量的特點是在程序運行期間始終存在,不被釋放,其值可以一直保留,但存在不等于可用,其作用域仍然是限于聲明它的過程或函數(shù)內(nèi)部,在該過程或函數(shù)以外不可見。3.數(shù)組數(shù)組是一組具有相同名字和有序下標的同類型元素的集合,可以用相同的名字和不同的下標來引用數(shù)組元素。數(shù)組為用戶處理同一類型的成批數(shù)據(jù)提供了方便,特別是結(jié)合循環(huán)語句的使用將會更加便利。目錄本節(jié)2.3VBA語法⑴定義數(shù)組定義數(shù)組的語法格式如下:{Dim|Private|Public|Static}<數(shù)組名>([下界1To]<上界1>[,[下界2To]<上界2>[,……]])[As<類型>]其中,關(guān)鍵字Dim、Private、Public、Static的含義同變量的定義;下界與上界必須是整數(shù),上下界的對數(shù)決定了數(shù)組的維數(shù),如果省略下界,默認值為0??梢栽诖绑w或模塊的聲明部分加上語句:OptionBasen來設(shè)置下界的默認值,其中n是要指定的下界默認值,只能取0和1兩個值。目錄本節(jié)2.3VBA語法⑵數(shù)組應用舉例下面的子過程利用數(shù)組接收10個學生的成績,然后輸出總成績和平均成績。Subp()DimaAsSingle,bAsSingle,s(1To10)AsSingleDimiAsIntegerFori=1To10s(i)=InputBox(“請輸入第”&i&”個學生成績:”)a=a+s(i)目錄本節(jié)2.3VBA語法Nextib=a/10MsgBox“總成績?yōu)椋骸?aMsgBox”平均成績?yōu)椋骸?bEndSub⑶動態(tài)數(shù)組定義數(shù)組后,系統(tǒng)將為其預留所需要的內(nèi)存區(qū)域。根據(jù)預留內(nèi)存區(qū)域的方式不同,數(shù)組可分為靜態(tài)數(shù)組和動態(tài)數(shù)組。目錄本節(jié)2.3VBA語法動態(tài)數(shù)組在程序沒有運行時不會占用內(nèi)存空間,在程序運行時才會臨時獲得內(nèi)存空間,定義時下標是變量。定義動態(tài)數(shù)組可分為兩個步驟:先在窗體、模塊或子過程中定義一個沒有下標的數(shù)組(該步驟也可以省略),然后在子過程中用ReDim語句聲明帶下標的數(shù)組。目錄本節(jié)2.3VBA語法

2.4.1算術(shù)運算符目錄本節(jié)2.4VBA運算符

2.4.2字符串運算符字符串運算符用來連接兩個字符串,從而得到一個新的字符串,包括“&”和“+”兩個運算符。

例如,”abc”&”123”=”abc123”。2.4.3關(guān)系運算符

關(guān)系運算符包括=、>、<、>=、<=、<>、Is、Like。其中,Is運算符用于比較兩個對象的引用變量。下面重點介紹Like運算符。目錄本節(jié)2.4VBA運算符

Like運算符用于比較兩個字符串,現(xiàn)舉例如下:“a”Like“[a-z]”:返回True,其中”[a-z]”表示”a”至”z”范圍內(nèi)的小寫字母?!癮”Like“[!a-z]”:返回False,其中”[!a-z]”表示非小寫字母“a”Like“a*”:返回True,其中符號“*”表示任意個字符,也包括0個字符?!癮”Like“a?”:返回False,其中符號“?”表示任意一個字符,不包括0個字符。目錄本節(jié)2.4VBA運算符“a1”Like“a#”:返回True,其中符號“#”表示任一個數(shù)字,不包括0個?!癮M5b”Like“a[L-P]#[!c-e]”:返回True。2.4.4邏輯運算符目錄本節(jié)2.4VBA運算符

2.4.5運算符的優(yōu)先級當各種運算符同時出現(xiàn)在同一個表達式中時,其運算優(yōu)先順序大致為:括號、函數(shù)、從屬連接(如Worker.StrName)、數(shù)值運算、字符運算、關(guān)系運算、邏輯運算。

目錄本節(jié)2.4VBA運算符2.5.1賦值語句其語法格式為:變量=表達式。VBA會先計算表達式的值,然后再將表達式的值賦予變量。2.5.2判斷語句1.If語句If語句有以下幾種方式:⑴If<條件>Then<語句序列>⑵If<條件>Then<語句序列1>Else<語句序列2>目錄本節(jié)2.5VBA語句

⑶If<條件>Then<語句序列>EndIf⑷If<條件>Then<語句序列1>Else<語句序列2>EndIf目錄本節(jié)2.5VBA語句

⑸If<條件1>Then<語句序列1>ElseIf<條件2>Then<語句序列2>……ElseIf<條件n>Then<語句序列n>EndIf目錄本節(jié)2.5VBA語句

⑹If<條件1>Then<語句序列1>……ElseIf<條件n>Then<語句序列n>Else<語句序列n+1>EndIf目錄本節(jié)2.5VBA語句

2.IIf函數(shù)如果要執(zhí)行簡單的條件判斷操作,可以使用IIf函數(shù),其語法格式為:IIf(<條件>,<表達式1>,<表達式2>)當條件成立時返回表達式1的值,否則返回表達式2的值。3.SelectCase語句目錄本節(jié)2.5VBA語句

SelectCase<表達式>Case<表達式結(jié)果1><語句序列1>……Case<表達式結(jié)果n><語句序列n>[CaseElse<語句序列n+1>]EndSelect目錄本節(jié)2.5VBA語句

2.5.3循環(huán)語句1.For……Next語法格式:For循環(huán)變量=初值To終值[Step步長]<語句序列>Next[循環(huán)變量]目錄本節(jié)2.5VBA語句

2.While……WendWhile<條件表達式><語句序列>Wend3.Do……LoopDo……Loop語句有兩種語法格式。⑴Do

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論