我正在嘗試使用 vba 個性化公式擦除 excel 列中所有行的前 10 位數字(我改為這樣做或使用常規函式,因為在此步驟之后我仍然需要繼續修改資料)但我的功能不起作用
我的代碼:
PUBLIC FUNCTION removefirst (rng as String, cnt As long)
removefirst = Right(rng, Len(rng)- cnt)
End FUNCTION
我在 excel = removefirst(D2, 10) 上執行以下操作,但給出了彈出錯誤訊息
uj5u.com熱心網友回復:
我相信當您傳遞給函式的輸入沒有您想要修剪的長度時,您會收到錯誤訊息。除非你想改變輸出多一點我沒有看到再創造點LEFT()或RIGHT()或MID()功能,但如果它是一個必須的話,說不定:
Option Explicit
Public Function RemoveFirst(nr As Long, Optional ByVal cnt As Long = 1) As Long
RemoveFirst = IIf(Len(nr) > cnt, Mid(nr, cnt 1), nr)
End Function
現在,這將針對您輸入的長度進行測驗,如果“cnt”大于要使用的長度,則將回傳此原始輸入。根據需要更改第三個引數(也許更改為“0”?)。
注意:洗掉前 n 個數字與洗掉前 n 個字符不同。所以請確保您的輸入確實是所有數字。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/331467.html
上一篇:帶&不帶逗號的數字的正則運算式
下一篇:Excel中的字串總和
