VBA開發手記

2022-08-13 17:24:18 字數 1399 閱讀 4839

本博文,將主要記錄vba for excel專案中遇到並解決的問題和不熟悉的知識點,不定期更新。

1.日期單元格前面加空格就變成文字了,find查詢引數注意:what:=cstr(date),lookat:=2

2.

function

ff()

ff = 123

msgbox

"hello

"end function

該函式在單元格中使用時,會先彈出 訊息框 確定後,再返回 123,說明函式返回值是等該函式所有**執行完才返回。

3.加號與&的區別?

1 「12」 & 「34」 = 「1234

」2 「12」 + 「34」 = 「1234」3

45 「12」 & 34 = 「1234

」6 「12」 + 34 = 46

『型別自動轉換78

9 「ab」 & 34 =「ab34」

10 「ab」 + 34 = 『型別自動轉換失敗,報錯

4.range的不常用使用用法

1 range("

c1,d2,a1:a2

").cells.count '

個數為4

2 range(cells(1, 1), cells(1, 4)).cells.count '

個數為4

3 range(cells(1, 1)) 『這種寫法錯誤

5.給單元格區域賦值的不常見寫法。

1 range("

a1:b1

") = '

寫入標題,採用陣列形式,可以一次性寫入多個單元格

2. if [=sum(1/countif(a1:a10,a1:a10))] < 10 then msgbox "區域中存在重複值,程式無法繼續", vbokonly, "友情提示"

6.工作表的codename屬性就是vbe中每一張工作表物件的名稱,可以在自己的屬性視窗中修改,用codename可以直接代表對應的工作表物件使用。

7.worksheets(1).copy 將直接生成一張未儲存的工作簿,內容為worksheets(1)

8.如果新建的工作簿未儲存,則 len(dir(activeworkbook.fullname)) = 0.

9.由於end釋放一切變數(包括各種級別的變數,如:過程級,模組級等),所有a顯示的始終是1

1

sub t()

2static a as byte

3 a = a + 1

4msgbox a

5end

67 end sub

10.range區域賦值給變數時,該變數下標為1.   evaluate函式建立的陣列預設下標也是1

VBA 開發心得

1.string太長的話會被vba無情的截斷。如果字串太長,比如說有2048個字元,那就會被vba華麗麗的截成這個樣子 2048個字元的字串 1023個字元的字串 回車 1023個字元的字串 回車 2個字元的字串 這種情況下,在使用sql查詢的時候你會難以預料自己的字串在什麼時候被截斷,並且debu...

VBA開發入門

最近由於工作需要,學習了一些vba開發的相關知識。下面就簡單介紹下。vba是內嵌在 office 應用程式中的程式語言。它能使重複的任務自動化,如批量的資料 重複的運算 自定義 excel 工具欄 工作表介面和窗體,使得使用者方便地操作 excel等等。下面完成乙個簡單例子。將上圖表中a1裡的值 拉...

Oracle開發手記

由於開發中經常遇到一些問題,想必大家也經常遇到,寫下來做乙個備忘錄.1.oracle問題,採用iis訪問oracle時,一定要注意客戶端的oracle資料夾的訪問許可權,這個是一定要注意設定的.2.oracle的字符集問題.由於很多情況下,需要不同的oracle資料庫資料交換,但是可能出現資料庫之間...