註冊
登錄
首頁
論壇版規
禁止列表
說明
地圖
數位書香
私人消息 (0)
公共消息 (0)
論壇任務 (0)
系統消息 (0)
好友消息 (0)
帖子消息 (0)
麻辣家族討論版版
»
Excel程式區
» 字串中沒有包含某字元用法
返回列表
下一主題
上一主題
發帖
[發問]
字串中沒有包含某字元用法
v03586
發短消息
加為好友
v03586
當前離線
UID
22132
帖子
193
主題
29
精華
0
積分
222
金錢
222
點名
0
作業系統
Windows7
軟體版本
OFFICE2013
閱讀權限
20
在線時間
250 小時
註冊時間
2015-9-18
最後登錄
2023-4-29
中學生
帖子
193
主題
29
精華
0
積分
222
點名
0
作業系統
Windows7
軟體版本
OFFICE2013
閱讀權限
20
註冊時間
2015-9-18
最後登錄
2023-4-29
1
#
跳轉到
»
倒序看帖
打印
字體大小:
t
T
發表於 2016-4-17 02:41
|
只看該作者
[發問]
字串中沒有包含某字元用法
平時我們寫VBA 要找出關鍵字用法都會用Like
If .Cells(i, "A") Like "*AAA*" Then
.Rows(i).Delete
複製代碼
A欄位 有AAA字串則刪除
如果我要改成 如果A欄位 有AAA字串保留
其餘沒有的刪除怎麼寫呢??
If .Cells(i, "A") Like "*AAA*" Then
下一段???? 其餘刪除
樓主熱帖
請問出勤系統設計
重複內容時間加總並刪除重複保留唯一值
依照報表投線量與UPH<每小時產能>計算開機數
跨欄置中與擷取文字問題
資料剖析+加框線
輸入資料比對資料表 轉換到別的資料表
VBA 表單功能發問
Range'方法('_Global'物件)失敗
利用一個巨集,複製A檔案到B檔案問題
Excel inputbox 迴圈 問題
收藏
分享
Kubi
發短消息
加為好友
Kubi
當前離線
UID
1510
帖子
163
主題
1
精華
0
積分
170
金錢
170
點名
0
作業系統
Window 7
軟體版本
Office 2007
閱讀權限
20
性別
男
在線時間
126 小時
註冊時間
2010-9-5
最後登錄
2022-7-20
中學生
帖子
163
主題
1
精華
0
積分
170
點名
0
作業系統
Window 7
軟體版本
Office 2007
閱讀權限
20
性別
男
註冊時間
2010-9-5
最後登錄
2022-7-20
2
#
發表於 2016-4-17 08:51
|
只看該作者
回復
1#
v03586
將
If .Cells(i, "A") Like "*AAA*" Then
改為
If InStr(.Cells(i, "A").Value, "AAA") = 0 Then
用InStr函數,可做為字串比對的判斷:
若判斷式等於0表示沒有符合資料,反之(<>0)則表示有符合的資料
InStr函數的使用法請參照VBA的官方說明
[b]Kubi[/b]
TOP
准提部林
發短消息
加為好友
准提部林
當前離線
UID
13768
帖子
2848
主題
10
精華
0
積分
2903
金錢
2903
點名
0
作業系統
〔略〕
軟體版本
〔略〕
閱讀權限
100
性別
男
來自
〔略〕
在線時間
2122 小時
註冊時間
2013-5-13
最後登錄
2026-7-25
版主
帖子
2848
主題
10
精華
0
積分
2903
點名
0
作業系統
〔略〕
軟體版本
〔略〕
閱讀權限
100
性別
男
來自
〔略〕
註冊時間
2013-5-13
最後登錄
2026-7-25
3
#
發表於 2016-4-17 10:12
|
只看該作者
Like 判斷結果為 True 或 False,
反向, 則可改為
If .Cells(i, "A") Like "*AAA*" = False Then .Rows(i).Delete
或
If Not .Cells(i, "A") Like "*AAA*" Then .Rows(i).Delete
平常習慣用 InStr , 其用法與工作表函數 Find 類似, 只是其參數相反:
=Find(關鍵字, 被比對字串)
SS = InStr(被比對字串, 關鍵字)
Like 另個好處, 可以更多方式模糊比對,
例如:
"AAA*"
"*AAA"
"AAA*B"
TOP
v03586
發短消息
加為好友
v03586
當前離線
UID
22132
帖子
193
主題
29
精華
0
積分
222
金錢
222
點名
0
作業系統
Windows7
軟體版本
OFFICE2013
閱讀權限
20
在線時間
250 小時
註冊時間
2015-9-18
最後登錄
2023-4-29
中學生
帖子
193
主題
29
精華
0
積分
222
點名
0
作業系統
Windows7
軟體版本
OFFICE2013
閱讀權限
20
註冊時間
2015-9-18
最後登錄
2023-4-29
4
#
發表於 2016-4-17 11:34
|
只看該作者
回復
3#
准提部林
這樣這行的意思會變成假如A欄位沒有AAA 就刪掉嗎?
我跑程式時...變成全部刪光光@@
我想表達的意思是...保留如下關鍵字的部分 其餘反黃部分刪除..
下載
(6.85 KB)
2016-4-17 11:33
For i = .Range("A65536").End(xlUp).Row To 2 Step -1
If Not .Cells(i, "A") Like "*AAA*" Or _
Not .Cells(i, "A") Like "*BBB*" Or _
Not .Cells(i, "A") Like "*CCC*" Or _
Not .Cells(i, "A") Like "*DDD*" Or _
Not .Cells(i, "A") Like "*EEE*" Or _
Not .Cells(i, "A") Like "*FFF*" Then
.Rows(i).Delete
End If
Next
複製代碼
TOP
准提部林
發短消息
加為好友
准提部林
當前離線
UID
13768
帖子
2848
主題
10
精華
0
積分
2903
金錢
2903
點名
0
作業系統
〔略〕
軟體版本
〔略〕
閱讀權限
100
性別
男
來自
〔略〕
在線時間
2122 小時
註冊時間
2013-5-13
最後登錄
2026-7-25
版主
帖子
2848
主題
10
精華
0
積分
2903
點名
0
作業系統
〔略〕
軟體版本
〔略〕
閱讀權限
100
性別
男
來自
〔略〕
註冊時間
2013-5-13
最後登錄
2026-7-25
5
#
發表於 2016-4-17 12:52
|
只看該作者
回復
4#
v03586
OR 任一
AND 全部
多條件要確認用哪一個?
TOP
v03586
發短消息
加為好友
v03586
當前離線
UID
22132
帖子
193
主題
29
精華
0
積分
222
金錢
222
點名
0
作業系統
Windows7
軟體版本
OFFICE2013
閱讀權限
20
在線時間
250 小時
註冊時間
2015-9-18
最後登錄
2023-4-29
中學生
帖子
193
主題
29
精華
0
積分
222
點名
0
作業系統
Windows7
軟體版本
OFFICE2013
閱讀權限
20
註冊時間
2015-9-18
最後登錄
2023-4-29
6
#
發表於 2016-4-17 13:01
|
只看該作者
回復
5#
准提部林
了解了!!!感謝指點!! 原來是這個小細節...!!!
TOP
靜思自在 :
小事不做、大事難成。
返回列表
下一主題
上一主題
Excelㄧ般區
EXCEL專屬討論區
Excelㄧ般區
Excel程式區
進階應用專區
OFFICE 系列
Word
PowerPoint
Access
Office不分區
程式語言
VB 與 VB.Net
C 與 C#
Java 與 J#
程式設計不分區
資料庫
ORACLE
My SQL
MS SQL
網頁設計
ASP 與 ASP.NET
PHP
PHP+MySQL 入門實作
JavaScript
FLASH / ActionScript
HTM/ HTML/ CSS
網頁設計不分區
電腦與作業系統
電腦各種硬體討論
一般電腦軟體討論
論壇事務
管理公告
投訴反映
新手測試
愛 • 生活
公益佈告欄
生活與感動
[收藏此主題]
[關注此主題的新回復]
[通過 QQ、MSN 分享給朋友]
申請友情鏈接
Facebook粉絲