1樓:
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
2樓:匿名使用者
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
3樓:匿名使用者
輸入完**後,關閉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
嗯試試再說
4樓:張簡文景
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自動填充公式 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
excel 用vba編寫自動填充公式功能
10樓: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
11樓:匿名使用者
cells(1,8).resize([a65536].end(3).row,4).filldown
這樣?不過你好像第9列另有安排哎
12樓:匿名使用者
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
13樓:匿名使用者
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**按照第一列下拉填充公式怎麼做到??
14樓:復仇之牙
以下圖為例
**sub 巨集1()
dim r as long
r = cells(rows.count, "a").end(3).row
[b1].autofill destination:=range("b1:b" & r)
end sub
15樓:deqr雲飄
軟體版本:office2007
方法如下:
1.利用vba在c列中加入公式求ab列的和,並且填充公式至所有有資料的行:
2.alt+f11,輸入**如下:
3.f5執行**,返回excel,得到結果如下:
sub aa()
x = [a65536].end(3).rowrange("k10").formular1c1 = "公式1"
range("l10").formular1c1 = "公式2"
range("m10").formular1c1 = "公式3"
range("k10:m10").autofill destination:=range("k10:m" & x)
end sub
excel使用vba巨集在區域內自動填充公式
16樓:匿名使用者
一句**就行:
cells(6, 2).resize(400 - 5, 200 - 1).formular1c1 = "=表1!rc2*r5c"
如何在啟用excel時自動執行vba的某個巨集
1 首先將excel文件 預設新建副檔名為xlsx 另存為啟用巨集的工作簿,副檔名為xlsm。2 按下組合鍵alt f11快速切換到vba視窗。3 進入vba視窗後的介面,如圖所示。4 雙擊thisworkbook後,會彈出一個 視窗。6 儲存,關閉,重新開啟excel 副檔名為xlsm 文件,效果...
有沒有什麼公式,可以自動填充顏色,2為紅色,4為黃色,6為綠色,8為紫色,謝謝了
12345678我猜的 excel 公式求助,請高手解答。如下表述 concatenate if left a1 深 if left a1 淺 if abs a1 11,x choose int abs a1 1,白 紅 紫 褐 黃 綠 藍 灰 黑 棕 雜 if mod a1,1 0,if iser...
excel中如何完成下拉列的自動填充
沒有太明白樓主的意思,您的把前3列的內容自動填充到下面空白的列是什麼意思?是要把 顯示的每個空格都填充成空格上面那一行的內容麼?如果是的話 一 選中你要填充的這三列 不要直接選中這三列喔,不然會無限制的填充下去,選中這三列的第一格到最後一格 二 ctrl g 空位填充 出現的視窗下選 定位條件 空值...