有學過JS跟PY 這兩個月開始學習VBA 剛開始覺得滿難的 因為語法比上面兩個複雜 還有變數型態上也是 種類繁多 像是數字就分為短整數 長整數 短浮點數 長浮點數 還有物件 物件又分為 工作表物件 圖表物件 樞紐物件 .....etc 但物件是種換湯不換藥的東西 概念都差不多 還有要克服的點是 excel 讀跟寫儲存格很慢 用for 迴圈跌代100個可能沒感覺 10000個就感覺超慢 解決方法就是要一次性寫入 或是先儲存在陣列 然後一次性寫入儲存格 vba 的優點是 常用的方法跟屬性就是那幾個resize intersect find autofilter union etc 而且在寫的時候能自動校正 事件處理也是 直接有一個列表讓你選 個人覺得vba算是入門較難 但上手後會很容易的一門語言 大家贊同嗎? 還是我有誤區? -- ※ 發信站: 批踢踢實業坊(ptt.org.tw), 來自: 1.163.106.134 (臺灣) ※ 文章網址: https://ptt.org.tw/Soft_Job/M.1658020483.A.37A
FXW11314: 一開始就學C/Java的會覺得VBA簡單吧…大部分語言都有分 07/17 09:39
FXW11314: 型別啊 07/17 09:39
FXW11314: 所以我一直覺得想吃這行飯的一開始就學python不太好, 07/17 09:39
FXW11314: 很多觀念會沒摸到 07/17 09:39
FXW11314: 我講大部分語言都有分型別也怪怪的,python 也有分啊 07/17 09:42
piggyoil: 覺得包養網EY嗎 07/17 09:42
hobnob: 我覺得你說的難都不算難,只是你不熟而已 07/17 09:49
a12838910: 不如學.net? 07/17 10:02
wulouise: 為什麼要vba..python應該也可以讀檔處理吧 07/17 10:44
vi000246: 我不知道耶 程式語言入門都差不多吧 看幾個範例抄一下 07/17 10:47
vi000246: 很快就能做出能動的東西了 07/17 10:47
TwixBar: 包養網站葉配啦 07/17 10:47
lazarus1121: 可以吧,我非本科啥都不懂就直接看書學了 07/17 10:48
lazarus1121: 不過就真的只會用for來處理資料 07/17 10:48
lazarus1121: 讀寫儲存格有不連動畫面的方法能用,開起來會快很多 07/17 10:50
enthos: 不如學PowerShell,都可以用來寫Remote Desktop. 07/17 11:28
enthos: https://github.com/DarkCoderSc/PowerRemoteDesktop 07/17 11:28
boggicer: 記者收了包養網多少啦 07/17 11:28
railrail: 不用學VBA呀,直接學C#就有官方的library可以操控excel 07/17 12:11
railrail: 了 07/17 12:11
attack0214: 不要VBA 07/17 12:14
OriginStar: 因為原PO沒學過Visual Basic,會覺得VBA格格不入 07/17 13:10
OriginStar: 除非原PO想用Excel做表單功能(進階一點連結資料庫) 07/17 13:12
Chiason: 包養真亂 07/17 13:12
OriginStar: Visual Basic是舊時代產物了,接觸的應該像我依樣都 07/17 13:15
OriginStar: 有40歲了吧 07/17 13:15
kurtsgm: 不建議+1 如果是20~30年前 VBA作為一個新手入門的語言還 07/17 13:29
kurtsgm: 算合適(相較於比較硬的C/C++) 但現在一堆有商用價值的語 07/17 13:29
kurtsgm: 言都還比VBA淺顯易學了 我不太確定現在學VBA有啥意義 07/17 13:30
Markell: 演藝圈一堆包養好嗎 07/17 13:30
imreader: https://segmentfault.com/a/1190000038753482 07/17 13:48
imreader: 再見VBA!神器工具統一Excel 和Python 07/17 13:48
imreader: 將Jupyter Notebook嵌入到Excel中 07/17 13:49
waterwalk: 碰過VB6 可4我現在奔三而已 07/17 18:12
ILYY: 不建議 直接學別的 07/17 18:13
fuoya: 政治圈一堆包養好嗎 07/17 18:13
sailoruranu: vba不太適合處理大量資料與多工處理,比較適合單機處 07/17 19:28
sailoruranu: 理小量資料或是當作另一種ui 介面展現資料 07/17 19:28
chocopie: 如果是2 30年前還可以,但現在有python, 07/17 20:35
chocopie: 舉凡大量讀寫操作絕對比 vb 重刻輪子快上許多, 07/17 20:35
chocopie: 更別說接資料用 pandas numpy。 07/17 20:35
Apasiri: 有錢人一堆包養好嗎 07/17 20:35
chocopie: 你還在一個個宣告型別的時候別人用python可能已經寫完了 07/17 20:35
chocopie: 不過若你在的單位有那種三四十歲同事不會python 而要求 07/17 20:37
chocopie: 你用 vb的話,那就稍微用一下,反正裝忙也是職場常態之 07/17 20:37
chocopie: 一。 07/17 20:37
airtsubasa: 如果你公司安裝的軟體不是你能控制並有控管,適當的輔 07/17 21:40
litidi: 學生妹被包養多嗎 07/17 21:40
airtsubasa: 助你日常有何不可 07/17 21:40
sazabijiang: VBA原則上要依附Excel,除非你是要寫WSH 07/17 22:30
sazabijiang: 程式語言本身很簡單,有學過程式設計的就很容易上手 07/17 22:30
sazabijiang: 他對物件型態的判定也算鬆散,甚至變數不用宣告也 07/17 22:31
sazabijiang: 可以使用,不過還是建議開啟Option Explicit 07/17 22:32
Merzario: 有錢人為啥都想包養 07/17 22:32
sazabijiang: 如果要用迴圈寫資料到儲存格,有兩種可以加速的方式 07/17 22:33
sazabijiang: 比較簡單的是Application.ScreenUpdating = False 07/17 22:34
sazabijiang: 另一種如果你要貼的資料是一個recordset,那就不 07/17 22:36
sazabijiang: 要用雙重迴圈逐一貼滿所有的儲存格,直接用 07/17 22:36
sazabijiang: Range().CopyFromRecordset() 07/17 22:37
Muzaffer: 有錢人為啥都想包養 07/17 22:37
sazabijiang: 如果要貼的資料已經儲存在一個陣列裡,用 07/17 22:38
sazabijiang: Sheets().Cells().Resize().Value = 陣列變數 07/17 22:40
sazabijiang: 這樣不管幾萬格的資料,都可以在一秒內更新完畢 07/17 22:40
sazabijiang: VBA好處是與office其他軟體包括word, outlook access 07/17 22:41
sazabijiang: 高度整合,你可以在VBA裡存取outlook郵件、透過 07/17 22:41
MIJice: 亞洲最大包養網上線啦 07/17 22:41
sazabijiang: ODBC driver把.csv、excel等檔案當成SQL資料庫存取 07/17 22:42
sazabijiang: 也有timer可以做自動化排程,可以送出鍵盤訊號做 07/17 22:42
sazabijiang: RPA自動化,還可以發出http request做網頁爬蟲 07/17 22:44
sazabijiang: 真要講他的缺點就是,他是微軟的解決方案.... 07/17 22:45
viper9709: 推一樓 07/17 23:31
SpyTime: 我哥上包養網被我抓包.. 07/17 23:31
newking761: 學這個要幹嘛 07/18 08:17
TurtleShell: 目前22y 高中計概課上過vb (舉手 07/18 11:48
winnie830925: VBA不用刻意學吧 除非你人生的天花版就是excel 07/18 12:06
evilcherry: 如果你解決的問題是Excel那就一定要學VBA了 07/18 13:54
qss05: 我覺得VBA不會很難啊…基本的一個禮拜就會了吧,而且如果 07/18 14:37
Toth: 有人包養過洋鬼子嗎 07/18 14:37
qss05: 你是很常要出excel報表的部門,vba處理會比用其他的呼叫方 07/18 14:37
qss05: 便,他就給你一個excel叫你處理上面的資料,你不用vba要用 07/18 14:37
qss05: 什麼 07/18 14:37
realbout: 有些公司喜歡用VBA出報表 要不然這語言我覺得是寫爽用.. 07/18 21:53
realbout: ... 07/18 21:53
Asterix: 有錢人為啥都想包養 07/18 21:53
brucetu: 不要浪費時間學薪水不高的技能 07/18 23:15
chunfo: 新手當然是計組資結打底 從c入門 有時間的話 07/18 23:41
sazabijiang: 如果在銀行工作,什麼軟體都不能裝,還真只能用 07/19 00:15
sazabijiang: VBA跟java script寫程式 07/19 00:15
kimi0325: 目前18 一年級上過vb 07/19 12:02
AdamShi: 有人被洋鬼子包養過嗎 07/19 12:02
asleisureto: 建議學C#,想要高薪請學Java甚至C++ 07/19 15:28
paulshain04: 寫 C# 啦不要寫VB 07/19 21:15
tin8420: 學了三個月 入門不難 但是專精有一定的難度 別小看VBA 07/19 22:41
firemonny: 寫C# 真心不騙 07/19 23:59
Tix: 設型別算啥,以前寫C還要設記憶體咧 07/20 05:54
lezabo: 到底要多有錢才會想包養 07/20 05:54
qss05: 我覺得VBA難是難在有些EXCEL那些專用的功能,公司有一個專 07/20 10:14
qss05: 寫VBA的看起來是真的很精,可是他把一堆東西埋在EXCEL裡面 07/20 10:14
qss05: ,然後那些都不命名、不註解,結果接手他的都看不懂他埋在 07/20 10:14
qss05: 哪裡…搞得比單純用程式碼硬幹還難維護 07/20 10:14
chocopie: 這樣他才難以被取代啊 07/20 21:48
silberger: 閨蜜上包養網還推薦我... 07/20 21:48
OrzOGC: 難以被取代又非用不可的話才有籌碼喊價啊...XD 07/20 22:56
cathychg: 為什麼? 那么做啥 報帳嗎?薪資紀錄 11/02 11:38