Please enable JavaScript.
Coggle requires JavaScript to display documents.
Excel VBA (開啟開發人員 (環境介紹 (運算邏輯 (日期 (d2=cdate("2017/1/1") (convert…
Excel VBA
開啟開發人員
檔案
選項
自訂功能區
開發人員
取得欄列位置
前端
=cloumn()
=row()
後端
環境介紹
四個視窗
即時運算視窗
Ctrl+G
如:如何取回儲存格位置
用?或print
程式中無?
調整視窗文字大小
工具->選項->撰寫風格->調整想要內容
專案總管
屬性總管
物件Object
屬性
事件
方法
程式
運算邏輯
A(運算元)=(運算子)5+6(運算元)
INT
56789取位數
57.688766
ABS
abs(-57.688766)
round
RND
int(rnd()*49)+1
產生亂數0-1之間,不生1
日期
now()
今天日期時間=字串
date()
今天日期
time()
year()
month()
day()
hour()
minute()
second()
weekday()
內要包now()
weekday(now(), n)
n=以星期天起算,第?天為第一天
d1=#2018/5/1#
用#號包住的字串
裡面就是日期格式
d2=cdate("2017/1/1")
convert date
" " 包覆為字串
字串變成日期
日期格式可用2017-1-1
for i=1 to 6: ? int(rnd()*49)+1;:next:?
?顯示指令(空白),會跳行
: 用以 隔指令
next 回到頭來
指令
字串處理
Left(?,?)
從左邊數,取幾個字
right(?,?)
? right("Abcdef",2) =ef
mid(?,?,[n])
第三個參數可選可不選
?mid("Abcdefd",5,2) =ef
不指定n,則取到完
len(?)
數總共幾個字
ucase()
轉大寫
lcase()
轉小寫
asc(s)
ACSII
American standard change internal information
EBCDIC
UTF-8
3 byte一中文
BIG5
2 byte 一中文
CNSE 643
4 byte 一中文
只取第一個字的瑪
CHR()
CHR(65)=A
space(n)
space(20) 得20個空格
instr("Abcdefg","cd")
=3
s3="86"
s3=val(s3)
程式
ActiveX
Sub
Private (代表私有,專屬的) 副程式
命名物件名稱
Click
想要怎麼呈現
for
迴圈處理(重複執行)
for.... next
do while 條件式
成立時執行
loop
內無內建step 1效果
s=0
i=1
k=100
Do While i<=k
s=s+i
i=i+1
Loop
MsgBox
for ?(自取變數)=? (起點)to ?(終點) step (增量)
s=0
for i=1 to 100 [step 1] (增量1可不寫)
s=s+i
next
msgbox "累加1至100的和是:"&s
s=0
for i=1 to 100 step 2
s=s+i
next
msgbox
s=0
for i=1 to 100
if i mod 2=0 then
s=s+i
end if
next
a=msgbox (" "&s, 2+16)
msgbox "你按的鈕是什麼鈕"&a
msg " ", 按鈕樣式, 按鈕婷駐點
按鈕有0-5號的種類
1
確定取消
2
中止重試略過
4
是否
5
重試取消
0
確定
3
是否取消
a=msgbox ("累加1至100的和是:"&s)
捕捉按鈕的結果
第二個引數,1+16/32/48/64
32
問號
48
黃三角驚嘆號
16
紅色X
64
藍驚嘆 資訊
第二個引數的第三個值,停駐點
0
第一個按鈕
256
第二個按鈕
512
第三個按鈕
第三個引數
自訂提示框標題
if
if 條件式 then 指令1行
if 條件式 then
XXXXX
end if
if 條件式 then
成立時執行
else
不成立時執行
end if
程式有錯誤則按停止鍵=重新設定
指定位置
range
range("C1")
cell
cell(1,3).value = s
先列再行
Excel 知識
總欄列數
2007以後
XFD 2的14次方
1048576
2的20次方
2003以前
65536
2的16次方
256欄IV