1樓:
方法1,用篩選裡面的包含 輸入2002* 就可以篩選出來方法2,用輔助列寫公式=left(f3,4) 同樣可以篩選出來
方法3,用vba寫一串**
方法4,寫陣列公式
由上到下為由易變難
2樓:魚木混豬喲
sub main()
x = range("a65536").end(xlup).rowredim arr(1 to x, 1 to 5)brr = range("a1:
e" & x)for i = 2 to ubound(brr)if left(cells(i, 5).value, 4) = "2002" then
k = k + 1
for j = 1 to 5
arr(k, j) = brr(i, j)next j
end if
next i
range("a1:e1").copy sheet2.range("a1:e1")
sheet2.range("a2").resize(k, 5) = arr
end sub
excel怎樣用vba查詢指定內容並返回值
3樓:眯住眼串針
g2輸入公式
=if(left(e2,4)*1=2002,"yes","")下拉對g列進行自動篩選
將篩選結果直接複製貼上到sheet2
刪掉不要的列即可
4樓:匿名使用者
假設圖1在sheet1,圖2在sheet2,請參考
sub test ()
rowcount=sheets(1).[e90000].end(xlup).row
for i =1 to rowcount
if sheets(1).range("e" & i).value like "*2002*" then
sheets(2).range("a" & i).value=sheets(1).range("b" & i).value
sheets(2).range("b" & i).value=sheets(1).range("d" & i).value
end if
next
end sub
5樓:匿名使用者
這個必須用vba?函式就可以輕易做到了啊
在excel中如何用vba來實現查詢特定的字串?
6樓:很多很多
1、首先bai開啟需要編輯的excel**,du進入到編zhi輯的的頁面中。
2、然後在彈dao出來的視窗
回中,滑鼠右鍵答單擊工作表,選擇開啟「檢視**」。
3、然後在彈出來的視窗中,點選輸入**:
sub aaa()
dim i as long
for i = 1 to 1000 '行 範圍,自己修改if instr(range("a" & i), "invalidstatus") > 0 then
range("a" & i).font.color = vbredend if
next
end sub
4、然後進行儲存,點選執行就完成了。
7樓:匿名使用者
sub aaa()
dim i as long
for i = 1 to 1000 '行 範圍bai,自己修
du改if instr(range("a" & i), "invalidstatus") > 0 then
range("a" & i).font.color = vbredend if
next
end sub
執行後含有這zhi個字dao
符的單元格
內字型為紅容色。
【excel vba】在a列中搜尋包含特定內容的單元格,查詢它右邊的單元格的內容
8樓:匿名使用者
你是a2裡邊也是 滿?或者其他位置還有 滿 並不是你圖上的 只有a1 有滿?
要知道find 的方法 你使用的引數 預設是 從左上角a1 之後開始的 所以 a2中 有滿足條件的就不會顯示找到a1 只有僅僅a1 一個單元格中 有 滿 才會左後搜尋到………………即a1是最後一個搜尋的單元格,在沒有指定開始位置的時候!
刪除其他單元格 中的 滿 僅僅保留a1 中有 就可以找到了……你的這個搜尋 沒有實際使用意義!因為 只能找到a1 之後的第一個單元格中滿足條件的……所以 根據你的需求 你要改變一下方法……避開第一行 資料就能按著你的意思來找到第一個滿足條件的了……
祝你快樂!
9樓:匿名使用者
function myfun(rng as range,finstr as string) as string
on error goto l_end
myfun = rng.find(finstr,lookin:=xlvalues,lookat:=xlwhole).address
exit function
l_end:
myfun=0
end function
'主函式
sub test()
dim addr1 as string
addr1 = myfun(range("a:d"),"滿")if addr1 = 0 then
msgbox("沒找到")
else
msgbox("訂單號" & range(addr1).offset(0,1).value & "左邊有 滿")
end if
end sub
vba excel如何在工作表區域內查詢某個值,發回這個值所在的行號、列號
10樓:平陽虎
sub 查詢()
for each rng in range("a1:d3")if rng = 7 then
a = rng.row
b = rng.column
end if
next
msgbox "行號為
專" & a & "-" & "列號
屬為" & b
end sub
11樓:匿名使用者
sub aa()
dim a as range
for each a in range("a1:d3")if a.value = 7 then
msgbox "a=" & a.row & " , b=" & a.column
end if
next
end sub
excel 怎麼用vba檢查一個字串中是否包含特定的字母
12樓:匿名使用者
1、首先我們打抄開一個工作樣襲表作為例子。
2、使用alt+f11組合快捷鍵進入vbe編輯器,插入一個新模組,在模組編輯框中輸入以下**:option explicit,sub asc(),dim num1%, num2%,num1 = asc("excel") '返回69num2 = asc("e") '返回,101[a1] = "num1= ": [b1] = num1,[a2] = "num2= ":
[b2] = num2,end sub。
3、這裡我們宣告變數型別的方式和原來的不一樣,使用的是%符號,其實代表的就是as integer,效果是一樣的。
4、這裡我們給兩個變數賦值,賦值的內容為字串excel和字串e,但是並不是那麼簡單,我們給的值是asc()函式轉換的**。其中excel使用asc()函式只是取字串首位字母的**。這裡區分大小寫。
5、插入一個按鈕並指定巨集,我們執行後得到了正確的結果。另外,我的這個過程是可以正常執行,但是asc被指定按鈕時會報錯,大家可以選擇其他的過程名,就可以指定按鈕了。
13樓:人設不能崩無限
1、在新工作表的來sheet1上點選右源
鍵2、選擇檢視**
3、點bai
擊倒du三角,zhi選擇worksheet4、點選右邊dao倒三角,選擇觸發方式,如beforedoubleclick表示在雙擊滑鼠左鍵時觸發
5、點選候出現如下**框架
6、輸入以下語句:sheet1.cells(1, 3) = sheet1.
cells(1, 1) + sheet1.cells(1, 2)意為將a1、b1單元格求和並放在c1單元格
7、點選儲存,然後關閉vba視窗
8、由於a1,b1沒有資料,所以c1為0
9、輸入資料後,會發現即使按了回車,c1也不變,因為設定的是雙擊滑鼠左鍵觸發。
10、雙擊滑鼠左鍵後就變了
14樓:姓王的
用instr函式或like運算,**格式如下:
if instr("字串", "特定字母") > 0 then或if "字串" like "*特定字母*" then如果內包括特定字母,則條件
成立。注意後一種容特定字母前後都要寫上「*」號
在excel中 如何用vba查詢某特定單元格並返回該單元格的行和列值?
15樓:小周喜歡熬夜
在工作表中我們經常使用查詢功能,在一列中查詢某個內容,查詢下一個,那在vba中我們該如何進行查詢呢?
我們希望通過輸入班級,點選篩選就能出來想要的內容,這裡我忘了在篩選之前先做個清除,所以篩選二班記錄時,三班的記錄沒有被清除掉。
我們要把某個班級的記錄篩選出來,那麼就希望首先在對應的列裡找到某個班級所在的單元格,這裡就用到了find,找到後就把該行復制到對應位置,然後繼續查詢下一個。我們就可以使用vba**:
sub 篩選()dim rng1, rng2, rng3 as range, addr$, adr$set rng1 = range("a:a").find(range("e6").
value)addr = rng1.addressdo set rng1 = range("a:a").
findnext(rng1) adr = rng1.address set rng2 = cells(rows.count, "e").
end(xlup)(2, 1) set rng3 = rng1.entirerow.range("a1:
c1") rng3.copy rng2loop until addr = rng1.addressend sub
16樓:匿名使用者
dim flag as boolean
flag=false
for i=1 to usedrange.rows.countfor j=1 to usedrange.
columns.countif cells(i,j)="weight/mt contents" then
rows(i+1).insert shift:=xldownrows("1:"& i).delete shift:=xlupflag=true
exit for
end if
next j
if flag then exit fornext i
excel用vba巨集中用for迴圈將一列滿足條件的後面加上需要的數值比如
直接寫個公式就可以了。假如你那個1在的列是b,在c裡寫公式if b1 1,a 空 然後填充就可以了。如果一定要用vba,那就讀出來單元格的內容,然後根據內容填充就可以了。sub aaa for i 1 to range a65536 end xlup row if cells i,1 張 and c...
excel的VBA問題 建立巨集,要求輸入學生人數以及各個
總分 平均分用公式更好吧。除非公式無法完成,或者完成的效果不好 速度慢 被修改 否則就不要用vba。弗爾佈雷斯 的回答已經實現基本的內容,如果你想要介面化的東西,可以追問我。excel vba怎樣在點選按鈕後,彈出一個輸入密碼的對話方塊,密碼正確的話執後續程式段,否則結束 excel高手改寫vba加...
excel查詢一列中包含特定字元的單元格個數
特定字元是文字時要加 雙引號引起來,如 count find 大 a1 a10 就是說在a1 a10的字串中中查詢 大 如版果能找到,就返回大在字權符串中出現的位置,比如大在a1中是第三個字元,那麼就返回3,如果沒有找到 大 這個字元,將返回錯誤值。count 函式是統計一個陣列或區域中數字的個數,...