1樓:匿名使用者
用static 關鍵字宣告靜態變數,靜態變數的生命週期是工作簿關閉之前,也就是說工作簿沒關閉之前它一直常駐記憶體,不會因為過程執行結束被系統釋放,**改寫如下:
option explicit
sub test()
dim i as integer
static j as integer '定義一個靜態變數if j <= 0 then j = 1 '如果不賦值,integer型別預設值會是0
for i = j to 20
if sheet1.cells(i, 1) <> "" thensheet1.cells(i, 1) = ielse
exit for
end if
next i
j = i '將i非靜態變數最後的結果賦值 靜態變數j儲存end sub
如果這個也不行,那麼就把i儲存在工作表裡面,下次執行,從工作表找回i值!
2樓:匿名使用者
sub aaa()
for i = 1 to range("a65536").end(xlup).row
if cells(i, 1) = "張" and cells(i, 2) = 1 then cells(i, 3) = "a"
next
end sub
如果要判斷b列是否為"空",可用函式 isempty (cells(i, 2)) ,當cells(i,2)沒有任何值時為"真"
excel 用vba 巨集 中 用一個for迴圈 將 一列滿足條件的後面加上 需要的數值 比如
3樓:依然特雷西
1、開啟一個表,選中序列,點選工具-巨集,開始錄製。
2、錄製完成後按alt+f11 切換到**編輯視窗,設定變數i為長整形,並且設定一個for迴圈,迴圈次數比要新增的工資條標籤大,在end sub之前加next。
3、按alt+f11切換到excel介面,再錄製一個刪除標題的巨集,修改**,新增for迴圈按alt+f8調出巨集視窗。
4、從檢視中調出窗體按鈕,拖動出一個按鈕併為其制定生成工資表的巨集 。
5、右鍵點選編輯文字按鈕改名,再按相同的方法新增一個刪除標題欄的巨集,這樣就可以逆向操作了。
4樓:匿名使用者
直接寫個公式就可以了。假如你那個1在的列是b,在c裡寫公式if(b1=1,"a","空"),然後填充就可以了。
如果一定要用vba,那就讀出來單元格的內容,然後根據內容填充就可以了。
5樓:姓王的
sub aaa()
for i = 1 to range("a65536").end(xlup).row
if cells(i, 1) = "張" and cells(i, 2) = 1 then cells(i, 3) = "a"
next
end sub
如果要判斷b列是否為"空",可用函式 isempty (cells(i, 2)) ,當cells(i,2)沒有任何值時為"真"
6樓:弗爾佈雷斯
不用vba,公式即可解決,具體公式如下
「=if(and(mid(a1,1,1)="張",b1=1),"a","")」
7樓:匿名使用者
dim i as integer
i = 1
for i = 1 to 1000
if activesheet.cells(i,1).value = "" then
exit for
end if
if activesheet.cells(i,1).value = "張" then
activesheet.cells(i,3).value = "a"
end if
next
求excel用vba的if條件語句與for迴圈語句的基本語法,不要複製貼上,要最簡單說明下就行了
8樓:陽光上的橋
最簡單的來兩句,不明白請追問~~~
for的用法是這樣的:
for i=1 to n
......語句......
next i
這樣的功能是,使裡面的 語句 執行n次,每次i的值都不同,分別是1~n,用來完成固定次數的重複。
if的用法是這樣的:
if 條件 then
.......語句1.......
else
......語句2......
end if
這樣的功能是判斷條件是否滿足,如果滿足就執行 語句1,否則執行 語句2
以上例子中的語句、語句1、語句2都可以是一個或者多個語句,往往是一段。
9樓:匿名使用者
if語句有兩種用法,語句式和塊式:
語句式:
if 條件 then 條件為真的執行結果 [else 條件為假時的執行結果]
'號中間的可以視情況省略
如:if range("a1")=1 then range("b1")=range("a1")+100 else range("b1")=range("a1")-50
意思就是:如果a1為1時,b1=a1+100,否則,b1=a1-50
語句式使用時,中間不能有回車符號,但可以使用 _(即:空格+_+回車),如上可以寫成:
if range("a1")=1 then range("b1")=range("a1")+100 _
else range("b1")=range("a1")-50
塊式:if 條件 then
條件為真時執行的語句(可以多行)
[else
條件為假時執行的語句(可以多行)]
end if
'用括起來的,如果沒有,可以省略,但塊式,必須if。。。。then 。。。。end if 匹配,否則,將出現語法錯誤。
塊式還有一種用法:
if 條件1 then
條件1為真時執行的語句
elseif 條件2 then
條件2為真時執行的語句
elseif 條件3 then
條件3為真時執行的語句
……else
上述條件均不具備時,執行的語句
end if
尤其要注意的是,採用塊式後一種,各條件之間必須是相同專案的比較,並且條件之間的邏輯必須閉合,否則就可能會出現計算錯誤。
if 還有一種函式方式的用法:
iif(條件,為真時返回的結果,為假時返回的結果)
'用法與工作表函式if()一樣。
for的語法:
for 自定義變數=初始值 to 終止值 [step 步長]
自定義變數每增加(或減少)一個步長要執行的語句(可以多句)
[exit for]
next
如果初始值《終止值,且步長為1,則step 步長可以省略
步長可以是正數(初始值必須小於等於終止值),或者負數(起始值必須大於等於終止值)
eixt for 表示可以根據執行結果隨時退出迴圈。
for。。。。next必須配對使用,不能簡化
一般地,for ....next 和 if語句組合使用
10樓:匿名使用者
if 條件 then
執行語句
else
執行語句
end if
可以省略else
for 變數=初始值 to 最終值 step 步長值執行語句
next 變數
如果步長值為1,可以省略「step 步長值」
excel中如何編寫vba判斷迴圈多行單元格數值及賦值.
11樓:太極健
你的判斷是為0而不是為空,如果是判斷為空,=""
迴圈如下
sub test ()
i=range("a65536").end(xlup).row『判斷a列最後一行的行號
for x=1 to i』建立迴圈從第一行到最後一行if cells(x,1)=0 then cells(x,6)=cells(x,1) & cells(x,2) & cells(x,3)'判斷a值為0時,如果是判斷為空,=0改變=""
next x
end sub
12樓:匿名使用者
簡單的迴圈
sub test()
dim i as long
dim endrow as long
endrow = range("a" & rows.count).end(xlup).row '獲取末行
if endrow < 1 then exit sub
for i = 1 to endrow-1
if trim(range("a" & i).value) = "" then
end if
next i
end sub
或者sub test()
dim i as long
dim endrow as long
endrow = range("a" & rows.count).end(xlup).row '獲取末行
if endrow < 0 then exit sub
for i = 1 to endrow
if trim(range("a" & i).value) = "" then
end if
next i
end sub
二段**,前面是f1=(=a2&b2&c2),後一段是f1=(=a1&b1&c1)
13樓:
sub abc()
dim r as long
for r = 1 to 1000
next r
end sub
請修改迴圈大小為所需的數值。
另外,[a1]=0時,[f1]=a2&b2&c2,還是=a1&b1&c1 ?
上面的**是 =a1&b1&c1
excel滿足條件的求和,excel滿足條件的求和
excel中如何對滿足條件的資料進行求和 假設你的第二個表中資料來源 為 sheet2 資料列分別是a,b,c,d列,範圍是從第1到第100行 則你在第一個表中的一個庫存求和單元格中,輸入以下公式,可以滿足你的要求 sumproduct sheet2 c1 c100 a sheet2 a1 a100...
參加2019銀行春季校園招聘需滿足什麼條件
每家銀行招聘崗位不同 要求也略有不同。根據往年銀行春季校園招聘的應聘條件來看,基本要求如下 學歷要求 一般為全日制本科及以上學歷的應屆畢業生,個別銀行,個別崗位會放寬要求,招聘往屆生或是學歷放寬至大專及以上學歷。專業要求 在專業方面現在要求比較寬鬆,一般都是以經濟類 金融類 財會類 計算機類法學類 ...
EXCEL如何統計其他工作表中滿足某一條件的資料區域內,相應內容的單元格數目
你好 你的表我正在看,先說一個問題,就是日期要正規,寫成 2012 01 02 2012 01 02 這樣的格式,計算機才能當成資料來計算。不然無法計算。wps的日期是從1898年12月31日開始的一個4萬多天的數字,excel的日期是從1900年1月1日開始的一個4萬多天的數字 考到要關係三列資料...