如何用EXCEL VBA編寫模糊查詢程式,並將結果顯示在工作表中

2021-07-08 21:36:32 字數 2386 閱讀 7567

1樓:天蠍

不難實現,但**就懶得寫了。

步驟:1、利用inputbox()獲得想查詢的內容,並存放到區域性變數inputdata 中

2、用dim myrange as range 和以下語句組合進行查詢

set myrange = sheets("工作表名稱").cells.find(what:

=inputdata, after:=activecell, lookin:=xlvalues, lookat:

=xlpart, searchorder:=xlbyrows, searchdirection:=xlnext, matchcase:

=false)

3、用條件語句進行判斷是否找到或符合

if myrange is nothing thenmsgbox "沒找到符合條件的記錄!"

.....

else

找到的話,進行相應的單元格賦值操作

.....

endif

4、用將上述步驟巢狀到一個迴圈語句內,以便繼續查詢。

2樓:麥仔來啦

建立一個巨集或一個按鍵複製下列**到裡面。

'搜尋到的多個目標,可以多行顯示在工作表中。

with cells

set c = .find("角鐵", lookin:=xlvalues)

if not c is nothing thenfirstaddress = c.addressdor = c.row

rows(r).interior.colorindex = 3 '如果存在就把當它所在的行全為紅色

set c = .findnext(c)

loop while not c is nothing and c.address <> firstaddress

end if

end with

3樓:

excel本身就有自動篩選功能,通過自定義篩選條件,就可以實現模糊查詢,比如設定篩選條件為「包含」字元「角鐵」,就可以把所有「角鐵」的項都查詢出來!

4樓:匿名使用者

以下**使用正規表示式,查詢 sheet表中a1:b10範圍內的值。

sub 巨集2()

'' 巨集2 巨集

'dim my as string

my = "角鐵 \d+\*\d+"

dim reg

set reg = createobject("vbscript.regexp")

with reg

.global = true

.ignorecase = true

.pattern = my

end with

dim iii

iii = 1

sheets("sheet1").select

for each c in worksheets("sheet1").range("a1:b10")

c.select

dim mc as matchcollection

dim m as match

set mc = reg.execute(c.value)

if mc.count > 0 then

worksheets("sheet2").cells(iii, 1).value = c.

addresslocal(rowabsolute:=false, columnabsolute:=false)

iii = iii + 1

end if

next c

end sub

****************************************==

歡迎到excel home論壇學習、交流

vba excel中如何使用巨集將一個工作表中符合條件的某部分資料複製放在另一個工作表?

5樓:

以下**,資料在sheet1的a到d列,表頭在第二行

取前三個複製到h列

set conn = createobject("adodb.connection")

conn.open "provider=microsoft.jet.

oledb.4.0;extended properties=excel 8.

0;data source=" & thisworkbook.fullname

sql = "select top 3 * from [sheet1$a2:d] order by 銷量 desc"

[h3].copyfromrecordset conn.execute(sql)

conn.close: set conn = nothing

[a2:d2].copy [h2]

如何用EXCEL VBA讀入固定格式的

參考下 sub readfile dim ddate as date dim scustomer as string dim sproduct as string dim dprice as double dim sfname as string dim ifnumber as integer fi...

如何用c語言編寫程式呼叫函式計算

補充下啊 我上面的 你可以自己定義個函式,函式的內容就是那個,返回值就是k for n n n 1 這只是個演算法同理你把m 和 n m 算出來就可以了 其他的你自己去寫吧 c語言 程式設計 用函式計算 m!n n m include int f int m 這個就是bai階乘函式void main...

如何用sai畫出近景模糊的效果來,就像如下圖所示的那樣

這是高斯模糊或者動態模糊。sai1沒有。如何用ps做出邊緣模糊,與背景契合的效果 類似下圖 10 需要的工具為ps軟體,在ps中需要用到 橢圓選框工具 選擇並遮住 工具等,具體步驟如下 1 首先開啟ps軟體,然後選擇需要調整的 開啟,如下圖所示。2 然後就背景 複製一層,直接在右邊背景圖層上單擊右鍵...