本文介紹excel刪除數(shù)字保留文本的兩種方法,通過(guò)使用VBA代碼和word替換法來(lái)刪除數(shù)字。
excel刪除數(shù)字方法一:
Excel工作表中刪除數(shù)字只保留文本,是一個(gè)比較常見(jiàn)的例子。
如下圖所示,A列的源數(shù)據(jù)有一些數(shù)字,而且這些數(shù)字在單元格中的位置是無(wú)序不固定的。如何刪除數(shù)字,達(dá)到的效果如C列所示。
在excel中數(shù)字與文字共存的情況下,如果有規(guī)律,可以使用公式來(lái)分離字母、漢字、數(shù)字;如果沒(méi)有規(guī)律,比較理想的還是是用VBA來(lái)解決。
下面是具體的excel刪除數(shù)字操作步驟:
按ALT+F11,打開VBE編輯器,單擊插入——模塊,復(fù)制下面的代碼,然后按F5鍵運(yùn)行,excel會(huì)自動(dòng)將A列所有的內(nèi)容刪除數(shù)字之后的結(jié)果提取放在C列。
Sub excel刪除數(shù)字()
Dim reg As Object ‘定義reg為一個(gè)對(duì)象
Dim arr ‘定義一個(gè)動(dòng)態(tài)數(shù)組
Dim i As Long, j As Long ‘分別定義i,j為長(zhǎng)整型
i = Range("A65536").End(xlUp).Row ‘把A列非空的最后行數(shù)賦予給i
Columns("C").ClearContents ‘清空C列
arr = Range("A1:A" & i) ‘把A列的數(shù)據(jù)賦予給數(shù)組arr
Set reg = CreateObject("VBscript.RegExp") ‘調(diào)用正則表達(dá)式
With reg ‘定義表達(dá)式
.Global = True ‘匹配所有搜索項(xiàng)
.ignorecase = True ‘不區(qū)分大小寫
.Pattern = "[0-9]" ‘數(shù)字的表達(dá)式
End With
For j = 1 To i ‘循環(huán)該區(qū)域
Range("C" & j) = reg.Replace(arr(j, 1), "") ‘進(jìn)行根據(jù)模板替換字符串為空值
Next
End Sub
excel刪除數(shù)字方法二:WORD替換法
將excel所有需要?jiǎng)h除數(shù)字的單元格區(qū)域內(nèi)容復(fù)制到word文檔中,在查找替換框中輸入:^#,替換框保留空,不輸入任何內(nèi)容,單擊“全部替換”。替換完畢,將數(shù)據(jù)再次復(fù)制到excel中。