EXCEL VBA判斷單元格是否包含某字元

2022-03-03 16:39:33 字數 5829 閱讀 8244

1樓:一點設計演示

1.首先,看一下原始資料。

a列是公司名稱,我們要在b列判斷a列的文字是不是包含「北京」這兩個字。

2.雙擊b2,輸入公式:

=find("北京",a2)

b2單元格返回1,表示「北京」兩個字在a2的文字出現的位置是從第一個字元開始。

3.下拉b2的公式,返回結果如下圖所示。

其中返回的錯誤值是表示單元格文字中不包含「北京」。

4.單元格返回錯誤值不太好看,我們想辦法將它遮蔽。

首先,用isnumber函式判斷返回結果是不是數字,如果不是數字就返回false。把b2公式修改成:

=isnumber(find("北京",a2))

5.然後用if函式將true轉換成「y」,false轉換成空顯示。修改公式為:

=if(isnumber(find("北京",a2)),"y","")

6.類似,可以用search()函式來實現find()函式實現的功能。

知識點補充:

search()函式和find()函式差異在萬用字元的使用和大小寫的區分,有興趣的讀者可以自己在單元格中測試一下兩個函式的差異。

7.在其他函式中,比如說vlookup()和countif()等函式中使用萬用字元,也可以達到「包含」的目的。如下圖,用countif()函式來識別是否包含「北京」文字,如果返回1就是包含,返回0就是不包含。

2樓:匿名使用者

sub finstr() '這個可以檢測sheet1裡面有資料的區域裡是否包含你要查詢的字元,如果有會依次提示

dim rng as range

dim findstr as string

findstr="某字元" '這個某字元你替換成你需要的字元即可

for each rng in sheet1.usedrange'注意這裡的檢測sheet1裡面的資料區域 如果是其它sheet需改

if rng like "*" & findstr & "*" then

msgbox "單元格" & rng.address & "包含" & findstr

end if

next

end sub

3樓:是敬

if instr(cells(1,1),"abc")>0 thenmsgbox "a1單元格包含abc"

else

msgbox "a1單元格不包含abc"

end if

excel vba判斷單元格是否包含某字元

4樓:一點設計演示

1.首先,看一下原始資料。

a列是公司名稱,我們要在b列判斷a列的文字是不是包含「北京」這兩個字。

2.雙擊b2,輸入公式:

=find("北京",a2)

b2單元格返回1,表示「北京」兩個字在a2的文字出現的位置是從第一個字元開始。

3.下拉b2的公式,返回結果如下圖所示。

其中返回的錯誤值是表示單元格文字中不包含「北京」。

4.單元格返回錯誤值不太好看,我們想辦法將它遮蔽。

首先,用isnumber函式判斷返回結果是不是數字,如果不是數字就返回false。把b2公式修改成:

=isnumber(find("北京",a2))

5.然後用if函式將true轉換成「y」,false轉換成空顯示。修改公式為:

=if(isnumber(find("北京",a2)),"y","")

6.類似,可以用search()函式來實現find()函式實現的功能。

知識點補充:

search()函式和find()函式差異在萬用字元的使用和大小寫的區分,有興趣的讀者可以自己在單元格中測試一下兩個函式的差異。

7.在其他函式中,比如說vlookup()和countif()等函式中使用萬用字元,也可以達到「包含」的目的。如下圖,用countif()函式來識別是否包含「北京」文字,如果返回1就是包含,返回0就是不包含。

5樓:粉紅豹萱萱

建立一張空白的**。

在「a1」單元格輸入「你好朋友」。

接著我們選擇「b1」單元格。

輸入查詢函式「=find("朋友",a1)」,查詢a1中「朋友」這個字元所在位置。

回車後我們發現「b1」的值是「3」,「朋友」這個在a1中的第三個字元位置,證明a1包含朋友這個字元。

把函式改為「=find("哈哈",a1)」,查詢「哈哈」在a1中的位置。

回車後我們發現值是「#value!」所以不存在「哈哈」這個字元。

單元格是**中行與列的交叉部分,它是組成**的最小單位,可拆分或者合併。

單個資料的輸入和修改都是在單元格中進行的,單元格屬於microsoft excel /wps**中使用的術語。

單元格按所在的行列位置來命名,它有a1引用樣式、r1c1引用樣式和三維引用樣式三種引用樣式。

單元格按所在的行列位置來命名,例如:地址「b5」指的是「b」列與第5行交叉位置上的單元格。

可以利用office軟體的excel來編輯或者是google的我的文件來建立或編輯。

6樓:陽光上的橋

vba判斷單元格是否包含某字元使用instr函式,與工作表的find函式類似。

instr函式的幫助資訊如下:

程式中判斷是否包含,可以這樣寫vba**:

if instr("111a222", "a")=0 then msgbox "不包含" else msgbox "包含"

執行示例:

7樓:是敬

if instr(cells(1,1),"abc")>0 thenmsgbox "a1單元格包含abc"

else

msgbox "a1單元格不包含abc"

end if

8樓:真真真白丁

if range("a1").find("abc") <> nothing then

msgbox "找到了"

else

msgbox "沒找到"

end if

excel中用vba判斷單元格字元包含

9樓:

function reif(rng as range, rng1 as range) as string

with createobject("vbscript.regexp")

.global = true

.pattern = "[" & rng(1) & "]"

reif = .replace(rng1(1), "")end with

reif = iif(reif = "", "真", "假")end function

10樓:軍全疏癸

subfinstr()

'這個可以檢測sheet1裡面有資料的區域裡是否包含你要查詢的字元,如果有會依次提示

dimrng

asrange

dimfindstr

asstring

findstr="某字元"

'這個某字元你替換成你需要的字元即可

foreach

rngin

sheet1.usedrange'注意這裡的檢測sheet1裡面的資料區域

如果是其它sheet需改

ifrng

like

"*"&

findstr

&"*"

then

msgbox

"單元格"

&rng.address

&"包含"

&findstr

endif

next

endsub

excel vba怎麼判斷單元格是否包含某字元?

11樓:粉紅豹萱萱

建立一張空白的**。抄

在「a1」單元格輸入「你好朋友」。

接著我們選擇「b1」單元格。

輸入查詢函式「=find("朋友",a1)」,查詢a1中「朋友」這個字元所在位置。

回車後我們發現「b1」的值是「3」,「朋友」這個在a1中的第三個字元位置,證明a1包含朋友這個字元。

把函式改為「=find("哈哈",a1)」,查詢「哈哈」在a1中的位置。

回車後我們發現值是「#value!」所以不存在「哈哈」這個字元。

單元格是**中行與列的交叉部分,它是組成**的最小單位,可拆分或者合併。

單個資料的輸入和修改都是在單元格中進行的,單元格屬於microsoft excel /wps**中使用的術語。

單元格按所在的行列位置來命名,它有a1引用樣式、r1c1引用樣式和三維引用樣式三種引用樣式。

單元格按所在的行列位置來命名,例如:地址「b5」指的是「b」列與第5行交叉位置上的單元格。

可以利用office軟體的excel來編輯或者是google的我的文件來建立或編輯。

excel,vba中,如何判斷變數是否包含特定字串

12樓:匿名使用者

vba 中可以使bai用 這兩個函式du 函式啊……也可以直接使用zhi 另外一種 like 函式…dao…如:if a like "*aa*" thenmsgbox "a中有版aa 這個

字串"

else

msgbox "a中沒權有aa 這個字串"

end if

或者 使用 instr 這個函式計算 也可以……

13樓:匿名使用者

if instr(1,a,"aa") >0 thenmsgbox("a 包含 'aa'")

else

msgbox("a 不包含 'aa'")

end if

vba 判斷一個單元格中是否包含某個字串 有則執行後面的語句

14樓:4終

1、開啟excel,按下alt+f11,開啟vba編輯介面,雙擊左側要雙擊執行**的工作表,彈出右側**編輯區。

2、選擇「worksheet」中的「beforedoubleclick」事件。

3、首先,利用if函式通過判斷物件的行列來執行相應**的單元格。

4、通過設定cancel=true取消原來的雙擊編輯單元格的效果,通過call命令執行指定的巨集。

5、編寫好要執行的巨集。

6、回到excel中,雙擊**中執行的單元格,就會執行call後面的巨集程式。

15樓:

1、首先新建一個控制檯應用程式。

2、編寫鍵盤錄入事件,用於使用者輸入兩個字串,程式接收到字串之後再做比較。

3、可以通過contains函式驗證。

4、然後可以通過indexof函式驗證。

5、也可以通過正規表示式驗證。

6、最後驗證效果如下。

16樓:匿名使用者

用instr函式判斷是否包含指定字元,>0表示"含有"

searchstring = "xxpxxpxxpxxp" 被搜尋的字串

searchchar = "p" 要查詢字串 "p"

mypos = instr(searchstring, searchchar) 返回9

mypos = instr(1, searchstring, "w") 返回 0

17樓:匿名使用者

寫了個例子 sub a() set c = range("a1").find("吉林", lookin:=xlvalues) if not c is nothing then msgbox "1" end if end sub

excel vb將A單元格資料加到B單元格中

private sub mandbutton1 click for i 1 to h65536 end xlup row if cells i,8 0 then 8是h列,7是g列cells i,7 cells i,8 cells i,7 cells i,8 clearcontentsend if ...

ecel函式if公式裡怎麼可以判斷單元格里包含指定的

excel中可以利用find search 函式 substitute函式或者countif函式,或者mid函式結合陣列公式等來判斷某單元格內裡是否容 包含某個字元。方法如下有4種判斷方法 判斷a列單元格里是否包含 木 1 利用find函式判斷 公式如下圖所示,結果為數字,則說明包含 結果為 val...

excel當某一單元格數值為0,其他單元格資料顯示無效

選中d16 l16,開始,條件格式,新建規則,使用公式確定要設定格式的單元格格式,下面框中輸入 c16 0 下面挑選一種條件成立之後的格式,比如填充色,字型色白色等,也可以比如刪除線等,確定。在excel中,當公式的分子為0或者是無效數值時,單元格顯示為 20 假設公式在a列,現在在b列輸入 if ...