第5章 Worksheet(工作表)對象_第1頁
第5章 Worksheet(工作表)對象_第2頁
第5章 Worksheet(工作表)對象_第3頁
第5章 Worksheet(工作表)對象_第4頁
第5章 Worksheet(工作表)對象_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、WorksheetWorksheet(工作表)對象(工作表)對象認(rèn)識工作表對象認(rèn)識工作表對象引用工作表對象引用工作表對象對工作表對象進(jìn)行處理對工作表對象進(jìn)行處理限制工作表滾動區(qū)域限制工作表滾動區(qū)域保護(hù)工作表保護(hù)工作表Worksheet 對象:代表一個(gè)工作表對象:代表一個(gè)工作表Worksheets 對象:指定的或活動工作簿中所有對象:指定的或活動工作簿中所有 Worksheet 對象的集合對象的集合Worksheet.Cells 屬性屬性 :返回一個(gè):返回一個(gè) Range 對象,它代表工作表中的所有單對象,它代表工作表中的所有單元格(不僅僅是當(dāng)前使用的單元格)。元格(不僅僅是當(dāng)前使用的單元格)。

2、Worksheet.Columns 屬性:返回一個(gè)屬性:返回一個(gè) Range 對象,它代表活動工作表中對象,它代表活動工作表中的所有列的所有列Worksheet.Name 屬性:返回或設(shè)置一個(gè)屬性:返回或設(shè)置一個(gè) String 值,它代表對象的名稱值,它代表對象的名稱二、二、引用引用工作表的方式工作表的方式VBA中,在不同的工作表之間轉(zhuǎn)換或者對不同工作表中的單元格區(qū)域進(jìn)行操作時(shí),需要指定引用的工作表,通常有下面幾種方法:使用工作表的使用工作表的名稱名稱使用工作表的索引使用工作表的索引號號使用工作表的代碼使用工作表的代碼名稱名稱使用使用ActiveSheetActiveSheet屬性引用活動工作

3、表屬性引用活動工作表2.12.1、使用使用工作表的名稱工作表的名稱作表名稱是指顯示在工作表標(biāo)簽中的文本,工作作表名稱是指顯示在工作表標(biāo)簽中的文本,工作表名稱可以使用表名稱可以使用WorkSheetsWorkSheets集合集合(可簡寫為(可簡寫為SheetsSheets)來)來引用,引用,如下面的代碼所如下面的代碼所示示: Worksheets(Worksheets(工作表名工作表名).Activate).ActivateWorkSheetsWorkSheets集合包含所有的工作集合包含所有的工作表表任何時(shí)刻工作簿中只有一個(gè)工作表是活動工作表任何時(shí)刻工作簿中只有一個(gè)工作表是活動工作表Sub S

4、ub 使用工作表名激活工作表使用工作表名激活工作表()()Worksheets(sheet2).ActivateWorksheets(sheet2).ActivateEnd SubEnd Sub2.22.2使用使用工作表工作表的的編編號號工作工作表表編編號號(索引號)(索引號)是是指工作表在工作簿中的位指工作表在工作簿中的位置,置,ExcelExcel根據(jù)工作表在工作表標(biāo)簽中的位置以根據(jù)工作表在工作表標(biāo)簽中的位置以1 1開開始從左向右進(jìn)行編號始從左向右進(jìn)行編號。 Worksheets(1 Worksheets(1).Select).Select該該代碼代碼選中并激活當(dāng)前工作簿中第選中并激活當(dāng)前

5、工作簿中第1 1個(gè)工作個(gè)工作表表使用使用WorksheetWorksheet對象的對象的IndexIndex屬性可以返回屬性可以返回工作表工作表的的編編號號:MsgBoxMsgBox Worksheets( Worksheets(工作表名工作表名).).IndexIndex ( (即在工作薄中的編號即在工作薄中的編號) )Sub Sub 使用工作表編號激活工作表使用工作表編號激活工作表()()Worksheets(3).selectWorksheets(3).selectMsgBoxMsgBox Worksheets( Worksheets(工作表名工作表名).Index).IndexEnd

6、SubEnd Sub2.32.3、使用使用工作表的代碼名稱工作表的代碼名稱工作表的代碼名稱顯示在工作表的代碼名稱顯示在VBEVBE工工程資源管理器窗口中,在屬性窗程資源管理器窗口中,在屬性窗口中能夠修改工作表代碼名稱口中能夠修改工作表代碼名稱,在在VBAVBA中能夠直接使用工作表的中能夠直接使用工作表的代碼名稱引用工作表,即使工作代碼名稱引用工作表,即使工作表的名稱被修改,代碼仍然能夠表的名稱被修改,代碼仍然能夠正常運(yùn)行正常運(yùn)行。sheet6.Activatesheet6.ActivateSubSub使用使用代碼名稱代碼名稱激活工作表激活工作表()()Sheet3.ActivateSheet3

7、.ActivateEnd SubEnd Sub3 3、使用使用ActiveSheetActiveSheet屬性引用活動工作表屬性引用活動工作表使用使用ActiveSheetActiveSheet屬性可以返回屬性可以返回當(dāng)前當(dāng)前活動工活動工作表作表MsgBoxMsgBox ActiveSheet.NameActiveSheet.Name工作表的添加與刪除工作表的添加與刪除在工作簿中添加工作表使用在工作簿中添加工作表使用AddAdd方法方法,語法如下語法如下expression.Add(Before, After, Count, Type)expression.Add(Before, After,

8、 Count, Type)參數(shù)Before是可選的,指定工作表對象,新建的工作表將置于此工作表之前。參數(shù)After是可選的,指定工作表對象,新建的工作表將置于此工作表之后。如果Before和 After兩者均省略,則新建的工作表將插入到活動工作表之前。參數(shù)Count可選,要新建的工作表的數(shù)目。默認(rèn)值為 1參數(shù)Type可選,指定新建的工作表類型。工作表的添加與刪除工作表的添加與刪除AddshAddsh過程使用過程使用AddAdd方法在工作簿中新建方法在工作簿中新建“數(shù)據(jù)數(shù)據(jù)”工作表工作表Sub Addsh() Dim Sh As Worksheet With WorksheetsSet Sh =

9、 .Add(after:=Worksheets(.Count)S = 數(shù)據(jù) End WithEnd Sub三、三、工作工作表的添加與刪除表的添加與刪除3.13.1、工作工作表對象的表對象的DeleteDelete方法刪除指定的對象,方法刪除指定的對象,語法如下:語法如下: expression.Deleteexpression.Delete參數(shù)expression是必需的,該表達(dá)式返回“應(yīng)用于”列表中的對象之一例如:Sheet7.DeleteSheet7.Delete 3.23.2、工作工作表表中插入行中插入行在工作表的中插入空行,需要使用在工作表的中插入空行,需要使用Insert

10、Insert方法方法Sheet1.Rows(3).InsertSheet1.Rows(3).Insert在sheet1的第2行和第3行之間插入一行空行InsertInsert方法應(yīng)用于方法應(yīng)用于RangeRange對象時(shí)在工作表中插入一對象時(shí)在工作表中插入一個(gè)單元格或單元格區(qū)域,其他單元格作相應(yīng)移位以個(gè)單元格或單元格區(qū)域,其他單元格作相應(yīng)移位以騰出空間騰出空間3.33.3、限制限制工作表的滾動區(qū)域工作表的滾動區(qū)域限制工作表中滾動的區(qū)域,可以通過設(shè)置限制工作表中滾動的區(qū)域,可以通過設(shè)置WorkSheetWorkSheet對象的對象的ScrollAreaScrollArea屬性來實(shí)現(xiàn)。屬性來實(shí)現(xiàn)。

11、ScrollAreaScrollArea屬性使用以屬性使用以A1A1樣式的區(qū)域引用形式(樣式的區(qū)域引用形式(字符串類型)返回或設(shè)置工作表允許滾動的區(qū)域字符串類型)返回或設(shè)置工作表允許滾動的區(qū)域。當(dāng)設(shè)置了工作表滾動區(qū)域之后,用戶不能選定。當(dāng)設(shè)置了工作表滾動區(qū)域之后,用戶不能選定滾動區(qū)域之外的單元格,但仍然可以選定區(qū)域之滾動區(qū)域之外的單元格,但仍然可以選定區(qū)域之外的其他對象(例如圖形、按鈕等),同時(shí)工作外的其他對象(例如圖形、按鈕等),同時(shí)工作表的一些相應(yīng)功能可能被禁止(例如工作表全選表的一些相應(yīng)功能可能被禁止(例如工作表全選、選中整行或整列等)。、選中整行或整列等)。限制工作表的滾動區(qū)域限制工作

12、表的滾動區(qū)域在在VBEVBE中的工程管理窗口選擇相中的工程管理窗口選擇相應(yīng)工作表對象,然后在其屬性窗應(yīng)工作表對象,然后在其屬性窗口中設(shè)置口中設(shè)置ScrollAreaScrollArea屬性,即可屬性,即可限制工作表中滾動的區(qū)域,如圖限制工作表中滾動的區(qū)域,如圖 所示。所示。但是但是ExcelExcel不會記憶該項(xiàng)設(shè)置,不會記憶該項(xiàng)設(shè)置,當(dāng)再次打開該工作簿時(shí),當(dāng)再次打開該工作簿時(shí),ScrollAreaScrollArea屬性將被重置,用戶屬性將被重置,用戶必須重新設(shè)置必須重新設(shè)置ScrollAreaScrollArea屬性才屬性才能限制工作表中的滾動區(qū)域能限制工作表中的滾動區(qū)域限制工作表的滾動區(qū)

13、域限制工作表的滾動區(qū)域解決方法解決方法是是:在:在thisworkbookthisworkbook中選擇中選擇事件事件“workbook_openworkbook_open” 并對并對ScrollAreaScrollArea屬性進(jìn)行屬性進(jìn)行設(shè)置設(shè)置,如下,如下:工作簿工作簿的的OpenOpen事件,在打開該工作簿時(shí)設(shè)置事件,在打開該工作簿時(shí)設(shè)置Sheet3Sheet3工作工作表表的滾動區(qū)域?yàn)榈臐L動區(qū)域?yàn)椤癮1:g5a1:g5”單元格區(qū)域單元格區(qū)域。如果需要取消滾動區(qū)域的限制,可以將如果需要取消滾動區(qū)域的限制,可以將ScrollAreaScrollArea屬性值屬性值設(shè)置為設(shè)置為空空 Sheet

14、1.ScrollArea Sheet1.ScrollArea = = Private Sub workbook_open()Sheet3.ScrollArea a1:g5End Sub四、四、工作工作表的保護(hù)與解除保護(hù)表的保護(hù)與解除保護(hù)在實(shí)際應(yīng)用中,為了防止在使用過程中修改或無在實(shí)際應(yīng)用中,為了防止在使用過程中修改或無意中修改這些意中修改這些設(shè)置設(shè)置。方法:方法:一般一般使用使用ExcelExcel的工作表保護(hù)功能來保護(hù)的工作表保護(hù)功能來保護(hù)這些設(shè)置這些設(shè)置。Sub Prot ()Sheet5.Cells(1, 4) = 100Sheet5.Protect Password:=12345End

15、 Sub工作表工作表的解除的解除保護(hù)保護(hù)Sub Sub jcProtjcProt () ()Sheet5.UnProtect Password:=12345Sheet5.UnProtect Password:=12345Sheet5.Cells(1, 4) = Sheet5.Cells(1, 4) = 2 20000End SubEnd Sub解除保解除保護(hù)護(hù),并,并對對相相應(yīng)單應(yīng)單元格重新填入新元格重新填入新值值對其中一張工作表進(jìn)行保護(hù)對其中一張工作表進(jìn)行保護(hù)方法方法:,選擇其中一張工作表;,選擇其中一張工作表;,在,在事件中事件中選擇選擇“activeactive”,假設(shè)對,假設(shè)對shee

16、t1sheet1進(jìn)行保護(hù),則可以在事進(jìn)行保護(hù),則可以在事件中,輸入以入代碼:件中,輸入以入代碼:Private Sub Private Sub Worksheet_ActivateWorksheet_Activate()()sheet2.Selectsheet2.SelectEnd SubEnd Sub注意:實(shí)際上是在打開注意:實(shí)際上是在打開sheet1sheet1時(shí)將活動工時(shí)將活動工作表轉(zhuǎn)移到作表轉(zhuǎn)移到sheet2sheet2上面。上面。對其中一張工作表的指定區(qū)域進(jìn)行保護(hù)方對其中一張工作表的指定區(qū)域進(jìn)行保護(hù)方法:法:,選擇其中一張工作表;,選擇其中一張工作表;,在,在事件中事件中選擇選擇“S

17、electionChangeSelectionChange”,輸入以入代碼:,輸入以入代碼:Private Sub Private Sub Worksheet_SelectionChangeWorksheet_SelectionChange( (ByValByVal Target As Target As Range)Range)Dim Dim strstr As String As String If If Target.ColumnTarget.Column = 1 Then = 1 Then strstr = = Application.InputBoxApplication.InputBox(請輸入修改密請輸入修改密碼碼) If If strstr = 123 Then = 123 Then Application.EnableEventsApplication.EnableEvents = False = False End If

溫馨提示

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

評論

0/150

提交評論