1樓:bb石俊傑
看了下你的公式執行方式,就是對比是否在c列裡有b列的相同資料,有就在第9列寫個"0"。寫得也怪怪的。幫你改下這樣
private sub worksheet_activate()
for n = 2 to [b65535].end(xlup).row
cells(n, 2).select
cells(n, 9) = evaluate("=if(countif(c:c,index(b:b,row()))>0,0,"""")")
cells(n, 8) = evaluate("你的excel公式")
cells(n, 10) = evaluate("你的excel公式")
cells(n, 11) = evaluate("你的excel公式")
nextend sub
2樓:匿名使用者
cells(1,8).resize([a65536].end(3).row,4).filldown
這樣?不過你好像第9列另有安排哎
3樓:匿名使用者
y=range("a65536").end(xlup).rowfor m=2 to y
cells(m,8).formular1c1=你的公式cells(m,9).formular1c1=cells(m,10).
formular1c1=cells(m,11).formular1c1=next
4樓:匿名使用者
private sub worksheet_activate()dim i, n, x as integerx = [c1048576].end(xlup).rowfor i = x to 2 step -1if cells(i, 2) = cells(i, 3) thencells(i, 9) = "0"
exit for
end if
if cells(i,1)<>"" thenrange(cells(i,8),cells(i,11)=iend if
next
next
end sub
excel利用vba自動填充公式 5
5樓:摯愛唯夢
a表資料輸入後通過vba過入到b表,一次有n行,b表中c、e列有公式,公式太複雜,無法通過vba直接輸入,只能填充,如何通過vba選中b表c-e列的m至m+n行,如何填充公式,因為目前無法確定會使用多少行資料,所以不想預先拉很多行公式。謝謝
sheets("交易記錄列表").activaterange(cells(xe + 1, 9), cells(xe + h + 1, 17)).select
selection.filldown
在range前加**名稱會導致錯誤,所以需先啟用目標**
6樓:沐文昂
看了下你的公式執行方式,就是對比是否在c列裡有b列的相同資料,有就在第9列寫個"0"。寫得也怪怪的。幫你改下這樣
private sub worksheet_activate()
for n = 2 to [b65535].end(xlup).row
cells(n, 2).select
cells(n, 9) = evaluate("=if(countif(c:c,index(b:b,row()))>0,0,"""")")
cells(n, 8) = evaluate("你的excel公式")
cells(n, 10) = evaluate("你的excel公式")
cells(n, 11) = evaluate("你的excel公式")
nextend sub
請採納答案,支援我一下。
7樓:匿名使用者
private sub worksheet_activate()
for n = 2 to [b65535].end(xlup).row
cells(n, 2).select
cells(n, 9) = evaluate("=if(countif(c:c,index(b:b,row()))>0,0,"""")")
cells(n, 8) = evaluate("你的excel公式")
cells(n, 10) = evaluate("你的excel公式")
cells(n, 11) = evaluate("你的excel公式")
nextend sub
8樓:匿名使用者
請附上你的具體問題。
excel**怎麼利用vba自動填充公式
9樓:匿名使用者
如圖,比如要在c1:c9寫入公式,**為:
sub dd()
dim i as integer
for i = 1 to 9
range("c" & i).value = "=sumif(a1:a9," & "a" & i & ",b1:b9)"
next
end sub
如何使用vba進行公式自動填充?
10樓:
alt+f11開啟vbe
雙擊你的工作表,在右邊貼入
private sub worksheet_change(byval target as range)
dim n
n = target.row
if target.column = 1 then
if vba.isnumeric(target.value) then
range("b" & n).formula = replace(range("b" & n - 1).formula, "a" & n - 1, "a" & n)
range("c" & n).formula = replace(range("c" & n - 1).formula, "b" & n - 1, "b" & n)
else
msgbox "輸入的不是數字,請重新輸入!"
end if
end if
end sub
11樓:匿名使用者
private sub worksheet_change(byval target as range)
if target.column = 1 and target.row > 10 then
if isnumeric(target) thena = target.row
range("b" & a - 1 & ":c" & a - 1).autofill destination:=range("b" & a - 1 & ":c" & a)
end if
end if
end sub
12樓:匿名使用者
輸入完**後,關閉vb編輯器即可。
private sub worksheet_change(byval target as range)
x = target.row
y = target.column
if y = 1 then
if cells(x, y) = "" then
cells(x, y + 1).clearcontents
cells(x, y + 2).clearcontents
elseif isnumeric(cells(x, y)) = true then
cells(x, y + 1) = cells(x, y) * 2
cells(x, y + 2) = cells(x, y + 1) * 2
end if
end if
end sub
公式不管寫在**,總得寫出來吧,不然**怎麼知道你要怎麼算。改了一下**,你試試是不是這個效果。
private sub worksheet_change(byval target as range)
x = range("a" & rows.count).end(3).row
y = target.column
if y = 1 then
dim i as long
for i = 1 to x
if cells(i, y) = "" then
cells(i, y + 1).clearcontents
cells(i, y + 2).clearcontents
elseif isnumeric(cells(i, y)) = true then
cells(i, y + 1) = cells(i, y) * 2
cells(i, y + 2) = cells(i, y + 1) * 2
end if
next
end if
end sub
嗯試試再說
13樓:張簡文景
a表資料輸入後通過vba過入到b表,一次有n行,b表中c、e列有公式,公式太複雜,無法通過vba直接輸入,只能填充,如何通過vba選中b表c-e列的m至m+n行,如何填充公式,因為目前無法確定會使用多少行資料,所以不想預先拉很多行公式。謝謝
sheets("交易記錄列表").activaterange(cells(xe + 1, 9), cells(xe + h + 1, 17)).select
selection.filldown
在range前加**名稱會導致錯誤,所以需先啟用目標**
excel使用vba巨集在區域內自動填充公式
14樓:匿名使用者
一句**就行:
cells(6, 2).resize(400 - 5, 200 - 1).formular1c1 = "=表1!rc2*r5c"
excel vba快速填充公式(也就是往下拉)
15樓:
1、名稱框中輸入:bm1
2、凍結窗格
3、名稱框中輸入:k1:bm1
4、滑鼠指標一道bm1的右下角的小方點位置,按住滑鼠左鍵,往下拖動。
5、取消凍結窗格
怎樣用excel編序號1,1 1,2 2,2,2 1,
苦樂一輩子 按照你的規律,請參照以下公式 空白單元格輸入 int row a3 3 mod row a3 3 10 然後下拉 int row a3 3 mod row a3 3 10向下填充 效果 11.1 1.22 2.12.2 33.13.2 第一個1自己輸入 比如在a1 a2輸入 if mod...
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 張 ...
excel用VBA寫從1加到100的程式
wol之歌 你好,很高興為你回答這個問題。樓上的回答也很好,這裡我提供另一種思路,各位大佬自行比較。sub fillingexample dim i for i 1 to 100 cells i,1 value 1 i 2 i next end sub sub sumexample dim i di...