##title##

2017年8月30日

Excel:VBA,將函數回傳值改為變數

Sub addlog()
'
' addlog 巨集
' 自動貼即時
'
' 快速鍵: Ctrl+Shift+A
'
    Rows("3:3").Select
    Selection.Copy
    Dim x As Long
    x = Evaluate("=counta(A:A)")
'用Evaluate回傳=counta(A:A)的結果,並將值定義為變數x,在此處為3
    y = x + 2
    Rows(y & ":" & y).Select
'選擇第5行(3+2=5)
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub
研究半天,人生第一個自己寫成功的VBA。

2017年8月14日

Excel:巢狀函數將字串強制回傳為數值

搜尋值的資料型態必須與表格資料型態相同才能正確比對。

像是LEFT、MID等函數得到的是字串型態,所以加上--強制轉成數值,才能與表格中的資料型態一致。


例如原本這樣的函數公式會回傳錯誤值「#N/A」:

=VLOOKUP(MID(A1,SEARCH("(",A1)+1,4),C:D,2,0)



但如果加上「--」就可以正確回傳:

=VLOOKUP(--MID(A1,SEARCH("(",A1)+1,4),C:D,2,0)