ECEL編程基本概念_第1頁
ECEL編程基本概念_第2頁
ECEL編程基本概念_第3頁
ECEL編程基本概念_第4頁
ECEL編程基本概念_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、一) 、宏的自學首先需要明確的是, 本文不可能教會您關于宏的所有內容。 您需 要學會利用 錄制宏的方法來學習宏:點擊 Excel 工具下拉菜單中 宏 下 ?quot; 錄制新宏 ,此后可象平時一樣進行有關操作,待完成 后停止錄制。然后再點擊 工具下拉菜單中 宏下宏的編輯選項 即可打開剛才所錄制的宏的 Visual Basic 源程序,并且可以在此時 的 幫助下拉菜單中獲得有關的編程幫助。 對錄制宏進行修改不僅可 以學習宏的使用,還能大大簡化宏的編寫。二) 、基本概念為了學習 Excel 中的宏,我們需要先了解以下一些基本概念。1、工作簿:Workbooks、Workbook、ActiveWor

2、kbook、ThisWorkbookWorkbooks集合包含Excel中所有當前打開的Excel工作簿,亦 即所有打開的 Excel文件;Workbook對應 Workbooks中的成員,即 其中的 Excel 文件; ActiveWorkbook 代表當前處于活動狀態(tài)的工作 簿,即當前顯示的 Excel文件;ThisWorkbook代表其中有Visual Basic 代碼正在運行的工作簿。在具體使用中可用 Workbooksndex)來引用 Workbook對象,其 中 index 為工作簿名稱或編號;如 Workbooks(1)、 Workbooks( 年度報表 .xls) 。而編號按照

3、創(chuàng)建或打開工作簿的順序來確定, 第一個打 開的工作簿編號為1,第二個打開的工作簿為2。2、工作表: Worksheets、 Worksheet、ActiveSheetWorksheets 集合包含工作簿中所有的工作表,即一個 Excel 文 件中的所有數(shù)據(jù)表頁;而 Worksheet 則代表其中的一個工作表; ActiveSheet 代表當前處于的活動狀態(tài)工作表,即當前顯示的一個工 作表??捎?Worksheets(index) 來引用 Worksheet 對象,其中 index 為 工作表名稱或索引號;如 Worksheets(1) 、Worksheets( 第一季度數(shù) 據(jù)) 。工作表索引號

4、表明該工作表在工作表標簽中的位置: 第一個(最 左邊的)工作表的索引號為 1,最后一個(最右邊的)為 Worksheets.Count 。需要注意的是: 在使用過程中 Excel 會自動重排 工作表索引號, 保持按照其在工作表標簽中的從左至右排列, 工作表 的索引號遞增。因此,由于可能進行的工作表添加或刪除,工作表索 引號不一定始終保持不變。3、圖表:Chart、Charts、Chartobject、Chartobjects、ActiveChartChart 代表工作簿中的圖表。該圖表既可為嵌入式圖表(包含在Chartobject 中),也可為一個分開的(單獨的)圖表工作表。Charts 代表

5、指定工作簿或活動工作簿中所有圖表工作表的集合, 但不包括嵌入式在工作表或對話框編輯表中的圖表。使用 Charts(index) 可引用單個 Chart 圖表,其中 index 是該圖表工作表 的索引號或名稱;如 Charts(1) 、Charts( 銷售圖表 ) 。圖表工作表 的索引號表示圖表工作表在工作簿的工作表標簽欄上的位置。 Charts(1) 是工作簿中第一個(最左邊的)圖表工作表; Charts(Charts.Count) 為最后一個(最右邊的)圖表工作表。ChartObject 代表工作表中的嵌入式圖表,其作用是作為 Chart 對象的容器。 利用 ChartObject 可以控制

6、工作表上嵌入式圖表的外觀 和尺寸。ChartObjects 代表指定的圖表工作表、對話框編輯表或工作表 上所有嵌入式圖表的集合??捎?ChartObjects(index) 引用單個 ChartObject ,其中 index 為嵌入式圖表的編號或名稱。如 Worksheets(Sheet1).ChartObjects(1) 、 Worksheets(sheet1).ChartObjects(chart1) 分別對應 Sheet1 工作表中的第一個嵌入式圖表、以及名為 Chart1 的嵌入式圖表。ActiveChart 可以引用活動狀態(tài)下的圖表,不論該圖表是圖表工 作表,或嵌入式圖表。而對于圖

7、表工作表為活動工作表時,還可以通 過 ActiveSheet 屬性引用之。4、單元格: Cells 、ActiveCell 、Range、 AreasCells(row,column) 代表單個單元格,其中 row 為行號, column 為列號。如可以用 Cells(1,1) 、Cells(10,4) 來引用 A1 、D10 單 元格。 ActiveCell 代表活動工作表的活動單元格,或指定工作表的 活動單元格。Range代表工作表中的某一單元格、某一行、某一列、某一選定 區(qū)域(該選定區(qū)域可包含一個或若干連續(xù)單元格區(qū)域) 或者某一三維 區(qū)域??捎?Range(arg) 來引用單元格或單元格

8、區(qū)域,其中 arg 可為單 元格號、單元格號范圍、單元格區(qū)域名稱。如 Range(A5) 、 Range(A1:H8) 、 Range(Criteria) 。雖然可用 Range(A1) 返回 單元格A1,但用Cells更方便,因為此時可用變量指定行和列??蓪ange與Cells結合起來使用,如 Range(Cells(1,1),Cells(10,10) 代表單元格區(qū)域 A1:J10 ;而 expression.Cells(row,column) 返回單元格區(qū)域中的一部分,其中 expression 是返回 Range的表達式,row禾口 column為相對于該區(qū)域 的左上角偏移量。 如由

9、Range(C5:C10).Cells(1,1) 引用單元格 C5。Areas為選定區(qū)域內的連續(xù)單元格塊的集合,其成員是Range對象。而其中的每個Range對象代表選定區(qū)域內與其它部分相分離的一 個連續(xù)單元格塊。 某些操作不能在選定區(qū)域內的多個單元格塊上同時 執(zhí)行;必須在選定區(qū)域內的單元格塊數(shù) Areas.Count 上循環(huán), 對每個 單獨的單元格塊分別執(zhí)行該操作。此時,可用 Areas(index) 從集合 中返回單個Range對象,其中index為單元格塊編號;如 Areas(1)。5、行與列: Rows、Colum n s、 Row、 Colum nRows Columns分別代表活動

10、工作表、單元格區(qū)域范圍Range指定工作表中的所有行數(shù)、 列數(shù)。對于一個多選單元格區(qū)域范圍 Range 的Rows Columns只返回該范圍中第一個區(qū)域的行數(shù)、列數(shù)。例如,如果 Range對象有兩個區(qū)域(areas)A1:B2 和 C3:D4, Rows.Count 返回 2 而不是 4。可通過Rows行號)、Columns(列號)來引用相應的行與列;如Rows(3)、Columns(4)分別對應第三行、D列。利用Rows Column可以獲得區(qū)域中第一塊的第一行行號、第一列列 號,所得值均以十進制數(shù)表示。三) 、處理單元格1、直接賦值與引用 將變量、常量值直接賦給單元格、 或將單元格的值直

11、接賦給變量、 常量, 這是在 Excel 中最簡單的單元格賦值及引用方法。 如下例將工 作表Sheet1A1單元格的值賦給Integer變量I,并將1+1的值賦給 當前工作表中的 B1 單元格:Dim I As IntegerI=Worksheets(Sheet1).Cells(1,1)Cells(1,2).Select 選定 B1 單元格,使其成為當前單元格ActiveCell=I+1 以 I+1 為當前單元格賦值2、用公式賦值在宏的使用中, 可能會更多地用公式來給單元格賦值。 如下例將 相對于活動單元格左側第 4列、向上第 6行至向上第 2 行的單元格數(shù) 值之和賦給活動單元格(以本行、本列

12、為第0行、0 列):ActiveCell.Formula=AVERAGE(R-6C-4:R-2C-4)3、引用其它工作表中的單元格當賦值公式中需要引用其它工作表中的單元格時, 在被引用的單 元格前加上 工作表名! 即可。如以下即在賦值中引用了 Sheet1 工作表中的A1至A4單元格:Range(E10).Formula=SUM(Sheet1!R1C1:R4C1)但需注意的是: 當被引用的工作表名中含有某些可能引起公式歧 義的字符時,需要用單引號 將工作表名括起來。如:Worksheets(Sheet1).ActiveCell.Formula=Max(1-1 剖面 !D3:D5)4、引用其它工

13、作簿中的單元格在被引用單元格所在工作表名前加上 工作簿名 ,即可引用其 它工作簿中的單元格。如:ActiveCell.Formula=MAX(Book1.xlsSheet3!R1C:RC4) 同樣需注意的是: 當被引用的工作簿名中含有某些可能引起公式歧義 的字符時,需要用中括號 、 及單引號 將工作簿名括起來。如:Cells(1,2).Formula=MIN(1995-2000總結 .xls1995-1996年 ! $A$1:$A$6)5、避免循環(huán)引用 在上述公式賦值過程中,應避免在公式中引用被賦值的單元格,防止循環(huán)引用錯誤。6、添加批注可按如下方法格給單元格添加批注:Dim 批注文本 As

14、String批注文本 =批注示例 準備批注文本ActiveCell.AddComment 添加批注ActiveCell.Comment.Text Text:= 臨時 寫入批注文本ActiveCell.Comment.Visible=False 隱藏批注7、添加、刪除、復制、剪切、粘貼單元格Range(D10).lnsert Shift:=xlToRight 在 D10單元格處添加 一新單元格,原D10格右移Range(C2).lnsert Shift:=xlDown 在 C2單元格處添加一新單元格,原C2格下移Rows(2).EntireRow.lnsert 在第 2行前添加一空白行,原第 2

15、 行下移Columns(3).EntireColumnnsert在 C列前添加一空白列,原C列右移Columns(A:D).Delete Shift:=xlToLeft 刪除 A列至 D列,其右側列左移Rows(3:5).Delete Shift:=xlUp 刪除第 3行至第 5行,其下 方行上移Range(B2).EntireRow.Delete 刪除第 2行Range(C4).EntireColumn.Delete 刪除 C 列Range(B10:C13).Copy 復制 B10 至 C13單元格區(qū)域Cells(1,2).Cut 剪切 B1 單元格Range(D10).SelectActi

16、veSheet.Paste 自D10單元格起粘貼剪貼板中的內容四 ) 、圖表1 、工作表圖表以下為一添加工作表圖表的實例。Charts.Add after:二Worksheets(Sheet1)在Sheet1工作表之后添加新圖表工作表ActiveChart.ChartType=xlXYScatterSmooth圖表類型為 XY平滑線散點圖ActiveChart.SetSourceData Source:=Sheets( 結點坐標 ).Range(A1:B69), PlotBy:= _xlColumns 圖表數(shù)據(jù)來源于”結點坐標”工作表的A1至B69單元 格,且按列繪圖。ActiveChart.

17、Location Where:=xlLocationAsNewSheetWith ActiveChart.HasTitle = True.ChartTitle.Characters.Text = 節(jié)點坐標 圖表標題 節(jié)點坐標 .Axes(xlCategory, xlPrimary).HasTitle = True.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = x x 軸標題 x.Axes(xlValue, xlPrimary).HasTitle = True.Axes(xlValue, xlPrimary).AxisTitle.

18、Characters.Text= y y 軸標題 yEnd WithWith ActiveChart.Axes(xlCategory).HasMajorGridlines = True 顯示 x 軸主網(wǎng)格線,默認情 況下為顯示.HasMinorGridlines = True 顯示 x 軸次網(wǎng)格線,默認情 況下為不顯示End WithWith ActiveChart.Axes(xlValue).HasMajorGridlines = True 標出 x 軸主網(wǎng)格值,默認情 況下為標注.HasMinorGridlines = False 取消 x 軸次網(wǎng)格值標注,默 認情況下為不標注End Wi

19、thActiveChart.Legend.Position = xlRight 圖例顯示在圖表右側2、嵌入式圖表嵌入式圖表僅在添加方式及引用格式上與工作表圖表有所不同, 而對圖表的設置基本類似。詳見下例。Set 嵌入表 =ActiveSheet.ChartObjects.Add(0,0,200,300) 在當前工作表 (0,0) 坐標處添加寬 200,高 300 的嵌入式圖表嵌入表 .Chart.ChartType = xlColumnClustered 圖表類型為簇狀柱形圖嵌入表 .Chart.SetSourceData Source:=Sheets(1).Range(A2:B2), PlotBy:=xlRows 設置圖表數(shù) 據(jù)來源With 嵌入表 .Chart.HasTitle = False 無圖表標題.Axes(xlCategory, xlPrimary).HasTitle = False 無 x軸標題.Axes(xlValue, xlPrimary).HasTitle

溫馨提示

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

評論

0/150

提交評論