ExcelVBA文本格式處理編程方法_第1頁
ExcelVBA文本格式處理編程方法_第2頁
ExcelVBA文本格式處理編程方法_第3頁
ExcelVBA文本格式處理編程方法_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、excel 2007 vba文本格式處理編程方法摘 要 利用excel中的vba編程平臺,可以編寫出各種基于excel的數(shù)據(jù)處理程序,不僅可以數(shù)值計算,還可以進行文本格式處理,本文闡明了一種文本格式處理編程方法,展示了利用excel 2007 vba 編程處理文本格式的基本原理與方法。關(guān)鍵詞 vba編程,excel,文本格式處理 一、數(shù)據(jù)處理如果需要將第三列變成第四列的格式(如表1所示),有括號去掉括號,將括號里的字符變成上腳字符,若無括號,有“折號,將折號后的字符變成上腳,若無括號,無折號,保持原格式不變。數(shù)據(jù)內(nèi)容不變。這種情況如果有少數(shù)幾行可以,手工編輯改變格式就可以,如果數(shù)據(jù)上萬行,手工

2、編輯就不可取了,編程自動改變格式自然成為首選。表1 列舉實例井名油組層編號1上標(biāo)位置標(biāo)志層編號2e雙11(1-2)2111-2e雙11-32213e雙12(1-2)2121-2e雙1303二、基本算法求取上腳起始位置,即有括號為“(”的位置;沒有括號,有折號,剛找折號的位置;既無括號,又無折號為零。利用microsoft excel 中的 visual basic 編程,使用 range 對象,核心語句是:range(tt).characters(start:=temp, length:=3).font.superscript = trueit為范圍變量,temp為位置變量,關(guān)鍵點是生成位置參

3、數(shù),然后通過循環(huán),生成將目標(biāo)列的數(shù)據(jù)格式修改。標(biāo)識和處理 range 對象最常用的方法,如表2所示。用 a1 樣式記號引用單元格和單元格區(qū)域,可使用 range 屬性來引用 a1 引用樣式中的單元格或單元格區(qū)域。下述子程序?qū)卧駞^(qū)域 a1:d5 的字體設(shè)置為加粗。sub formatrange() workbooks(book1).sheets(sheet1).range(a1:d5) .font.bold = trueend sub 表2 range引用處理區(qū)域的方法引用 含義range(a1) 單元格 a1range(a1:b5)從單元格 a1 到單元格 b5 的區(qū)域range(c5:d

4、9,g9:h16)多塊選定區(qū)域range(a:a)a 列 range(1:1)第一行 range(a:c) 從 a 列到 c 列的區(qū)域range(1:5) 從第一行到第五行的區(qū)域 range(1:1,3:3,8:8)第 1、3 和 8 行 range(a:a,c:c,f:f)a 、c 和 f 列要引用一個對象,可以使用很多不同的方法。您可以根據(jù)程序運行所處的實際環(huán)境,以方便和易于理解為原則,確定具體使用何種方法。本文主要采用使用 range 屬性的 a1 樣式引用法。三、數(shù)據(jù)處理1啟用宏窗口左上角的office按鈕excel選項信任中心-信任中心設(shè)置-宏設(shè)置啟用宏2。首先如何進入宏編輯狀態(tài),在

5、excel工具菜單中視圖單擊宏(或)alt+f8查看宏窗口,3創(chuàng)建宏在宏窗口的宏名文本框中輸入將創(chuàng)建的宏名,然后點擊宏窗口里的“創(chuàng)建”按鈕,便進入visual basic編輯窗口,4生成用戶窗體接下來在這個窗口中插入用戶窗體,再向用戶窗體添加按鈕,為新添加的按鈕增加響應(yīng)代碼。運行程序。 5編寫代碼6運行程序四、excel對象模型要完成這個編程任務(wù),須得深刻理解excel對象模型,excel的對象模型是通過層次結(jié)構(gòu)很有邏輯地組織在一起的,一個對象可以是其他對象的容器,可以包含其它的對象,而這些對象又包含其它的對象。位于頂層的是application對象,也就是excel應(yīng)用程序本身,它包含exc

6、el中的其它的對象,如workbook對象;一個workbook對象包含其它一些對象,如worksheet對象;而一個worksheet對象又可以包含其它對象,如range對象等。這就是excel的對象模型。例如:range對象在excel對象模型中的位置為:application對象 workbook對象 worksheet對象 range對象 可以使用“對象瀏覽器”查看excel對象模型的方法,快速瀏覽工程中的所有組件及特定過程的詳細(xì)信息。知道了某對象在對象模型層次結(jié)構(gòu)中的位置,就可以用vba代碼方便地引用該對象,從而對該對象進行操作,并以特定的方式組織這些對象,使excel能根據(jù)您的需要

7、自動化地完成工作任務(wù)。因此,要熟練掌握excel vba編程,必須理解excel的對象模型。 集合是對象,是一組屬于同一類型的對象或相關(guān)的對象的集,作為它們的容器。例如,workbooks對象是當(dāng)前打開的所有workbook對象的集合,worksheets是包含在某個workbook對象中的所有worksheet對象的集合。 在excel中,application對象代表excel應(yīng)用程序本身,其它的對象都從它開始。每個對象都有自已的方法和屬性,并且某些對象的一些方法和屬性是相同的。 在通常情況下,我們認(rèn)為先需要選擇對象,然后再對所選對象進行處理,宏錄制器就是這樣的。事實上,在不進行選擇的情況

8、下,直接在對象上執(zhí)行動作將會更有效且運行快速。 在大多數(shù)情況下,需要通過引用對象所在的集合間接地引用某個對象。例如,workbooks(“book1.xls”)在工作簿集合中引用名為book1的workbook對象。 屬性可以返回對另一個對象的引用,一定要認(rèn)識到這一點。例如,語句range(“a1”).font.bold=true中,font屬性返回range對象中所包含的一個font對象。 五、主要代碼處理代碼分如下兩個部分。1 定位上標(biāo)字符起始位置,并置標(biāo)志位,for i = 2 to 1060 temp = sheet1.cells(i, 3) 為便于計算,將目標(biāo)串賦值到變量temp中

9、t = instr(temp, ()若temp中有”(“,就將”(“出現(xiàn)的位置序號返到t中若有括號,則把”(“序號存到同一行的第四列單元格中,且令同行的第五列單元格值為1作為識別標(biāo)志,否則,如果有”-“,則記下”-“的位置序號到本行第四列單元格中,置標(biāo)記單元格值為 2。無括號且無”-“,則記下上腳標(biāo)記位置為0, if t 0 then sheet1.cells(i, 4) = t sheet1.cells(i, 5) = 1 else if instr(temp, -) 0 then 如果 sheet1.cells(i, 4) = instr(temp, -) sheet1.cells(i,

10、5) = 2 end if if instr(temp, -) 0 and sheet1.cells(i, 5) = 1 then 如果有括號 td = sheet1.cells(i, 4) sheet1.cells(i, 3) = replace(sheet1.cells(i, 3), (, )去掉括號 sheet1.cells(i, 3) = replace(sheet1.cells(i, 3), ), ) range(tt).characters(start:=td, length:=3).font.superscript = true置目標(biāo)子串為上腳格式 end if if sheet1.cells(i, 4) 0 and sheet1.cells(i, 5) = 2 then如果無括號,只有”-“,則去掉串中的”-“并將目標(biāo)子串置為上腳

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論