VBA程式設計問題

2022-03-18 17:23:20 字數 1075 閱讀 4523

1樓:匿名使用者

錯誤的原因是從上向下刪除整行,每刪除一行,下方的行向上移動,致使原資料的行發生改變。

正確的方法是從下向上刪除,即在for中讓變數初值大於終值,步長step用負數表示。

還有一種方法是「間接」的從上向下刪除,讓**從上向下判斷哪些行是需要刪除的,然後給此行的某個列單元格賦一個值,最後將所有某列為標示值的行刪除。

2樓:桭崅勭

我分步驟大概解釋下:

1)function readjj(...) as boolean

定義了一個名叫readjj的函式,這個函式是布林型的(boolean),即這個函式返回的值只能是true或fasle。

2) public function readjj(...) as boolean

這裡相比1)多了一個public關鍵字,意思是這個函式是公共的,可以用在**所在模組之外的模組。 假如你的這個函式所在模組為模組1,還有另外一個模組2,那麼模組2中可以直接引用這個函式。

3)readjj(ra as range, valp as integer, valv as double, strjx as string)

這次拋開其他專門講下括號裡的內容。 意思是說需要向這個函式提供4個名為ra、vaip、vaiv、strjx的引數。不過這4個引數是有要求,

ra as range就是說這個引數的型別必須是工作表上的單元格區域,如a1,a1:c1.

vaip as integer就是說vaip引數要求是整型的,如1、100

valv as double 說明vaiv是雙精度型的,如2.1598

strjx as string說明strjx是字串及文字型別的,如」abcde「

引用這個函式時就類似工作表函式一樣:

readjj range("a1"),10,3.14159,"abcde"以上可以執行這個函式過程。

dim test as booleantest=readjj(range("a1"),10,3.14159,"abcde")以上會返回一個true或false給變數test

你還可在工作中像輸入sum等函式類似的方式使用這個readjj函式

eprime程式設計問題,Eprime程式設計問題

你好,你進行呼叫就可以了,比如呼叫列名為p1,那麼你分別填 p1 0 p1 1 p1 2 就成了,當熱你想要版語句實現這個要求也沒權有問題,看你的需求。另外需要e prime程式示例可以參考 http eprime程式設計問題 參 人類對未知有天生恐懼,所以新不如舊,這種想法情有可原。忽而今夏 你好...

vba程式設計利用隨機函式產生二位正整數,然後將這

sub 隨機制產生10個二位正整 是不是這樣?這是10個不重複的2位正整數 利用隨機函式產生10個兩位整數,然後按從大到小的順序排序輸出 include include include using namespace std int main for int i 0 i 10 i for int i...

c語言程式設計問題,C語言程式設計問題?

int main printf 字母數 d n空格數 d n數字數 d n其他字元數 d n letters,space,digit,other return 0 第一個問題 無效的主要 i 100 i 100 第二個問題,到1 100奇 0 int i 1 i 1 100 i i 100 而 i ...