Excel巨集学习课件_第1页
Excel巨集学习课件_第2页
Excel巨集学习课件_第3页
Excel巨集学习课件_第4页
Excel巨集学习课件_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

EXCELVBA解讀ExcelVBA綱要第一講:VBA的簡單介紹第二講:界面與窗口認識第三講:VBA程序設計基礎第四講:單元格操作第五講:工作表操作第六講:舉例說明一些程式的運用第一講:VBA的簡單介紹

VisualBasicForApplicationVBA是一種由微軟開發的自動化語言,這種自動化語言主要用於控制Offce應用程序,包括Excel,Outlook,Word,

PowerPoint等.以下內容我們主要講解VBA在Excel中應用,即ExcelVBA.

從名稱上就可以看出,VBA與VB有緊密的關聯.

不過不同的地方在於:

1.VB是设计用于创建标准的应用程序,而VBA是使已有的应用程序(excel等)自动化

2.VB具有自己的开发环境,而VBA必须寄生于已有的应用程序.

3.要运行VB开发的应用程序,用户不必安装VB,因为VB开发出的应用程序是可执行文件(*.EXE),而VBA开发的程序必须依赖于它的"父"应用程序,例如excel.

那VBA究竟是什么呢?更确切地讲,它就是一种自动化语言,可以使常用的程序自动化,创建自定义的解决方案.ExcelVBA使用ExcelVBA可以完成如下工作:1.使重复的任务自动化.2.自定义excel工具栏,菜单和界面.3.简化模板的使用.4.自定义excel,使其成为开发平台.5.创建报表.6.对数据进行复杂的操作和分析.

第二講:界面與窗口圖(一)EXCEL界面(VBA應用程序窗口)工程資源管理器窗口屬性窗口代碼窗口立即窗口圖(二)VBA編輯界面及窗口圖三(VBA的控件窗口)控件介紹打開一個新工作簿.在工具欄上單擊鼠标右鍵,從快捷菜單中選擇“表單”,顯示“表單”工具欄.其中有16個控件,只有9個可放到工作表内1)标簽:它用于表現靜态文本2)分組框:它用于将其他控件進行組合3)按鈕:用于執行宏命令4)複選框:它是一個選擇控件,通過單擊可以選擇和取消選擇,可以多項選擇。5)選項按鈕:通常幾個選項按鈕組合在一起使用,在一組中隻能選擇一個選項按鈕。6)列表框:用于顯示多個選項并從中選擇。隻能單選7)組合框:用于顯示多個選項并從中選擇。可以選擇其中的項目或者輸入一個其它值8)滾動條:不是你常見的來給很長的窗體添加滾動能力的控件,而是一種選擇機制.例如調節過渡色的滾動條控件。包括水平滾動條和垂直滾動條9)微調控件:也是一種數值選擇機制,通過單擊控件的箭頭來選擇數值。例如改變Windows日期或時間就會使用到微調控件

第三講:VBA程序設計基礎

錄制簡單的巨集(宏)巨集指一系列EXCEL能夠執行的VBA語句.以下将要錄制的巨集非常簡單,只是改變單元格顔色,如下步驟:1)打開新工作簿,确認其他工作簿已經關閉2)選擇A1單元格3)選擇“工具”—“巨集”—“錄制新巨集”4)輸入“改變顔色”作爲巨集名替換默認巨集名,單擊确定,注意,此時狀态欄中顯示“錄制”,特别是“停止錄制”工具欄也顯示出來.替換默認巨集主要是便于分别這些宏.巨集名最多可爲255個字符,并且必須以字母開始.其中可用的字符包括:字母、數字和下劃線.巨集名中不允許出現空格.通常用下劃線代表空格.5)選擇“格式””單元格”,選擇“圖案”選項中的紅色,單擊“確定”.6)單擊“停止錄制”工具欄按鈕,結束宏錄制過程代碼說明Subaa()--巨集名稱‘ --註解符號'Range(“A1”).Select--選定A1單元格

With

Selection.Interior

--選定區域的内部

.ColorIndex=3–紅色,.作用在於簡化語句

.Pattern=xlSolid

--內部圖案,表示纯色.

.PatternColorIndex=xlAutomatic

--表示内部图案底纹颜色为自动配色.

EndWith--with結構語句,巨集的主要部份EndSub --整合巨集結束句錄製巨集缺陷1)錄制的巨集無判斷或循環能力.2)人機交互能力差,即用戶無法進行輸入,計算機無法給出提示.3)無法顯示EXCEL對話框.4)無法顯示自定義窗體

注:.Pattern=xlSolid

.PatternColorIndex=xlAutomatic

這兩條語句在以上代碼段中,可以將其刪除,並不影響結果.

现在可以看到,编辑录制的宏同样非常简单。需要编辑宏是因为以下三个方面的原因。一:在录制中出错而不得不修改。二:录制的宏中有多余的语句需要删除,提高宏的运行速度.三:希望增加宏的功能。比如加入判断或循环等无法录制的语句.

保存宏的方法宏可保存在三种可能的位置:1)当前工作簿.(只有该工作簿打开时,

该宏才可用.)2)新工作簿。3)个人宏工作簿。參數,語法,語句基本參數說明基本數據類型解釋VBA流程控制語句VBA參數標識符

VBA標識符特指在VBA程序中標識變量,常量,過程,函數,類等語言要素的符號.VBA程序中可以使用的標識符需符合以下命名規則:1)以英文字母或漢字字符為首字符,只包含英文字母,數字,漢字字符和下划線字符.2)字符長度要小於254個字符

3)不能與VBA語言的保留字衝突.變量

計算機程序就是一個獲取數據,處理數據,輸出數據的過程.一切信息都要在計算機中被轉換為數據,然後才能被存儲,理解和運算,因此,計算機執行複雜功能的基礎都在於存儲數據,而VBA變量就是VBA程序中用於存儲數據的VBA語言要素.所以說变量是用于临时保存数值的地方.每次应用程序运行时,变量可能包含不同的数值,而在程序运行时,变量的数值可以改变.

为了说明为什么需要变量,可以按照如下步骤创建一个简单的过程:

1)创建一个名为"你叫什么名字"的过程.

2)在过程中输入如下代码:

Inputbox"输入你的名字:"

3)按下F5键运行过程,这时会显示一个输入框,要求输入你的名字.

4)输入你的名字并按"确定"按钮,则结束该过程.

你输入的名字到那里去了?如何找到用户在输入框中输入的信息?在这种情况下,需要使用变量来存储用户输入的结果.

使用变量的第一步是了解变量的数据类型.变量的数据类型控制变量允许保存何种类型的数据

VBA程序需要特定的方法識別變量,這種告知應用程序某一個標識符用來標識變量的過程,稱之為變量定義.1)用Dim聲明變量該語句的語法:Dim變量名as數據類型2)用Public聲明變量該語句的語法:Public變量名as數據類型3)用Static聲明變量該語句的語法:Static變量名as數據類型以上三種各有利弊:Public在作用域上與dim有所差別,而用Static聲明的變量在調用時仍保留它原先的值.以下以dim聲明變量為例.

用Dim語句創建變量(聲明變量)Dim變量名AS數據類型(缺省為Variant類型)注:Variant類型是變體型,它可以存儲除定長字符串的一切基本數據類型1)創建一個名爲"顯示你的名字"的子程序.

2)輸入以下代碼:

Sub顯示你的名字()

Dims名字AsString

s名字=Inputbox(“請輸入你的名字:”)

Msgbox“你好”&s名字

EndSub執行以上代碼段,會出現如下兩個對話框圖一圖二

sub認識變量()‘變量聲明

DimnumberAsInteger‘複製A1單元格內容到A2單元格

number=Range(“A1”).ValueRang(“A2”).Value=numberEndSub常量VBA程序中還有一類特殊的數據需要存儲,這類數據的值在程序執行的整個過程中都不可改變,這類數據稱之為常量.它可以供程序多次使用而且便于记忆.比如圆周率比3.1415926,它是不隨程序改變而改變的;再比如,一個計算稅收的VBA程序,稅率在整個程序中都不應該改變,那嚜稅率的數據就應存儲在常量中.VBA常量有兩種類型:字符常量&符號常量用const創建常量const銷項稅率AsLong=0.17常量聲明後,不能對它賦一個新的值語法如下:Const標識符as數據類型=值如:ConstpiasSingle=3.1415926注:single為單精度浮點型基本的數據類型

在VBA程序中共有11種基本數據類型:布爾型(Boolean),日期型(Date),字符串型(String),貨幣型(Currency),小數型(Decimal),字節型(Byte),整數型(Integer),長整數型(Long),單精度浮點型(Single),雙精度浮點型(Double)和變體型(Variant)VBA流程控制語句循環語句以fornext為例:For…Next語句是用來實現指定次數的循環,其語法如下:For<循環變量>=<初值>to<終值>(step步長值)

循環體

Exitfor

循環體

Next循環變量Sub矩形2_Click()DimXAsIntegerForX=1To20Sheets("sheet1").Cells(X,1)=XNextXEndSub單元格,工作表,工作薄,列,行的解說舉例單元格的基本錄入方法新建一個EXCEL檔,用繪圖插入一個矩形,點擊右鍵,在功能表中點擊指定巨集,再點擊新增,會出現:

Sub矩形1_Click()EndSub在兩句中間加入

Sheets("sheet1").Range("a1")=100

Sheets("sheet1").Cells(2,1)=200Range(“D3”).ClearContents清除內容加總Range("a21").Value=Application.WorksheetFunction.Sum(Range("a1:a20"))在VBA不直接支援在EXCEL工作表中的一些函數,如果要調用就必須加上Application.WorksheetFunctionSUM求和語法和工作表中的一樣,但表示不能直接SUM(A1:A20),要用VBA的表示方SUM(Range("a1:a20"))整列:Range(“D:D”)或Columns(4)

Range("B2").Value=Application.WorksheetFunction.CountA(Range("D:D"))行列COLUMN是指列,COLUMNS是指列的集合ROW是表示行,ROWS是行的集合如果用Sheets(“sheet1”).columns.select會選定所有列即整個工作表習題請在工作表SHEET1的D4:D36單格中填充4-36的數值,並在D37單格中求和.那麼如何讓程式自動在最好一行填入求得的和?答案Sub矩形2_Click()DimiAsIntegerDimYYYAsIntegerFori=4To36Sheets("sheet1").Cells(i,4)=iNextYYY=Application.WorksheetFunction.CountA(C

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论