本博文,將主要記錄vba for excel專案中遇到並解決的問題和不熟悉的知識點,不定期更新。
1.日期單元格前面加空格就變成文字了,find查詢引數注意:what:=cstr(date),lookat:=2
2.
functionff()
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
1sub 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資料庫資料交換,但是可能出現資料庫之間...