提取“wx”“zfb”“yhk”“wx補(bǔ)”“zfb補(bǔ)”“yhk補(bǔ)”這些字母后面的數(shù)字,字母不區(qū)分大小寫掷倔。
Option Compare Text '字母不區(qū)分大小寫
Sub Cat()
Dim a
'//將特定字符裝入數(shù)組
a = Array("wx", "zfb", "yhk", "wx補(bǔ)", "zfb補(bǔ)", "yhk補(bǔ)")
For i = 1 To Cells(Rows.Count, 1).End(3).Row '遍歷數(shù)據(jù)
For Each aa In a '遍歷字符
k = InStr(Cells(i, 1), aa) '如果包含字符眉孩,那么k的值大于0,否則等于0
If k > 0 Then
kk = Len(aa) + k '//返回第一個數(shù)字的位置
Cells(i, 2) = Val(Mid(Cells(i, 1), kk, 99)) '讀取數(shù)字
End If
Next
Next
End Sub
1、Option Explicit浪汪。當(dāng)使用Option Explicit時巴柿,必須在模塊中的所有過程聲明每一個變量,否則會出現(xiàn)語法錯誤并不能被編譯死遭。這樣做的好處是广恢,它能消除程序中因?yàn)殄e拼變量名而導(dǎo)致程序 錯誤,所以見意使用此選項(xiàng)呀潭。自動設(shè)定的方法:在VBA編輯器工具菜單中選項(xiàng)里的編輯器選卡中的要求聲明變量選項(xiàng)選上即可钉迷。這個每次插入新模塊時會自動插入 此聲明。
2钠署、Option Private Module糠聪。當(dāng)使用此設(shè)定時,模塊中的代碼將標(biāo)記為私有谐鼎,這樣在宏對話框中就不能看到這些代碼舰蟆,也就是在Excel主界面的工具/宏/宏的對話框中不會 顯示私有的子程序名稱,這也防止了模塊的內(nèi)容被其它工程引用狸棍,不過在同一工程中的其它模塊仍然是可用的夭苗。
3、Option Compare {Binary | Text | Database}隔缀。用于聲明字符串比較時所用的缺省比較方法题造。如果模塊中沒有 Option Compare 語句,則缺省的文本比較方法是 Binary猾瘸。
Option Compare Binary 是根據(jù)字符的內(nèi)部二進(jìn)制表示而導(dǎo)出的一種排序順序來進(jìn)行字符串比較界赔。在 Microsoft Windows 中,排序順序由代碼頁確定牵触。典型的二進(jìn)制排序順序如下例所示:
A < B < E < Z < a < b < e < z < _ < _ < _ < _ < _ < ?
Option Compare Text 根據(jù)由系統(tǒng)區(qū)域確定的一種不區(qū)分大小寫的文本排序級別來進(jìn)行字符串比較淮悼。當(dāng)使用 Option Compare Text 對相同字符排序時,會產(chǎn)生下述文本排序級別:
(A=a) < ( =) < (B=b) < (E=e) < (=) < (Z=z) < (=)
'
' Option Compare Database 只能在 Microsoft Access 中使用揽思。當(dāng)需要字符串比較時袜腥,將根據(jù)數(shù)據(jù)庫的區(qū)域 ID 確定的排序級別進(jìn)行比較。
4钉汗、Option Base {0 | 1}羹令。用來聲明數(shù)組下標(biāo)的缺省下界。
注意 Dim损痰、Private福侈、Public、ReDim 以及 Static 語句中的 To 子句提供了一種更靈活的方式來控制數(shù)組的下標(biāo)卢未。不過肪凛,如果沒有使用 To 子句顯式地指定下界堰汉,則可以使用 Option Base 將缺省下界設(shè)為 1。使用 Array 函數(shù)或 ParamArray 關(guān)鍵字創(chuàng)建的數(shù)組的下界為 0伟墙;Option Base 對 Array 或 ParamArray 不起作用翘鸭。
Option Base 語句只影響位于包含該語句的模塊中的數(shù)組下界
示例文件下載:
鏈接: http://pan.baidu.com/s/1o8I7CKU 密碼: ydyr