1樓:楓默凍凍79磭
dim n as longwith sheet4 sheet2.[h1:k1].
copy .[k1] .[p1] = "=counta(a:
a)" .[k2] = "=iferror(if(f2="""",vlookup(d2,貼上相應資料至此!62616964757a686964616fe4b893e5b19e31333335333161c:
k,6,0),vlookup(f2,貼上相應資料至此!c:k,6,0)),"""")" .
[l2] = "=vlookup(d2,貼上相應資料至此!c:k,7,0)" .
[m2] = "=vlookup(d2,貼上相應資料至此!c:k,8,0)" .
[n2] = "=vlookup(d2,貼上相應資料至此!c:k,9,0)" n = .
[p1] .[k2:n2].
autofill destination:=range("k2:n" & n), type:
=xlfillformulaend with 至少有如下幾處錯誤:
1、公式中有"",在**中一定要成對增加,否則,**無法區分哪個"與哪個"是一對。
你原來的.[k2]="=iferror(if(f2="",vlookup……「體現比較明顯。
2、:=range("k2:n2" & n)這個寫法也是錯誤的,假設n為100,則變成了range("k2:n2100")了
3、**寫的過於繁瑣,對同一個物件反覆操作時,儘量使用with……end with ,一方面便於閱讀、修改**,另一方面也將大大提高**執行速度。
4、定義變數,最好放在**開始行(養成好的習慣比較重要)
5、n定義為long後,預設為0,所以不用再重新賦值n=0
6、也是最要命的,既然vba**,就儘量採用vba**語言編寫程式,不要再使用工作表函式,這樣會大大降低表的運算速度。(**也用工作表函式,還不如直接在表中寫入函式)同時,有些工作表函式在**中執行結果與工作表存在一定的差異。
如上,vlookup函式就完全可以用vba**中range.find方法。
2樓:匿名使用者
圖呢?請詳細描述問題
vb程式設計計算,VB程式設計計算 1 2
private sub command1 click dim i as integer,j as integerdim l as long,h as longfor i 1 to 10 h 1 for j 1 to i h h j next l l h next print l end sub pr...
vb程式設計教程答案,vb程式設計教程答案
option explicit private sub command1 click dim a as integer dim i,j,n redim a 9,9 for i 1 to 8 print tab 25 i 2 for j 1 to i a i,1 1 a i,i 1 a i 1,j 1...
VB程式設計的datagrid控制元件問題,高手請進 急急急
重新整理ado 和 datagrid adodc1.refresh datagrid1.refresh 這裡是顯示資料.你要是用一個ado控制元件的話,就要每次改變ado資料來源.我瞭解你的意思,不同條件,就代表ado的資料來源變了哇,你得每次改變資料來源,改變後重新整理ado控制元件,這樣就可以出...