日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

提取EXCEL中一列字符串中的數(shù)字部分

 恐怖騎士 2010-12-30
其實是很簡單的……高手就不用看了……主要是實用,菜鳥隨手就能用上
 
今天在做一個給客戶優(yōu)惠的錄入項目,一年一度要受的苦
同事給的是一列如“美元優(yōu)惠結(jié)售匯中間價80個點”的數(shù)據(jù),而我就要其中的“80”,近千個,一個個輸與核對要60分鐘。
手工輸入自非我EXCELHOME會員本色,但是貌似EXCEL無現(xiàn)成函數(shù),如果要動用數(shù)組函數(shù)環(huán)環(huán)嵌套也十分麻煩,不過我眉頭一皺,計上心來
何不用無限強(qiáng)大的VBA呢,指導(dǎo)思想就是遍歷每個非空單元格,逐個檢查單元格內(nèi)容的每個字符,如果是數(shù)字則抓出來。
以下是代碼
你可以將它復(fù)制到VB編輯器里對應(yīng)SHEET的代碼欄位,然后啟用宏,并將安全等級調(diào)至 中,使用時直接雙擊你要轉(zhuǎn)換的那列第一格即可……
 
Public k
Sub getnumber()
Dim i As Integer
Dim p As Integer
Dim j As Integer
Dim ggg As String
For i = 2 To [A65536].End(xlUp).Row
   p = Len(Cells(i, k))
   ggg = ""
   For j = 1 To p
  
   If IsNumeric(Mid(CStr(Cells(i, k)), j, 1)) = True Then                     '所以說關(guān)鍵時ISNUMERIC個函數(shù)省去不少麻煩,如果自己寫估計要逐個判斷ASCII碼表咯。
   ggg = ggg & Mid(CStr(Cells(i, k)), j, 1)
  
   End If
  
   Next
   Cells(i, k) = ggg
Next
End Sub
 
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)    '主要實現(xiàn)雙擊那列第一格才呼叫 GETNUMBER的過程
If Target.Row = 1 Then
k = Target.Column
Call getnumber
End If
End Sub

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多