VBA擷取文字
先前有篇介紹到學會Excel三種函數,「擷取字串」基本上就難不倒你!
那如何使用VBA快速擷取左邊/右邊/中間文字呢?
以下方A欄(編號)為例,如何擷取「–」符號的左邊或右邊文字(數字)呢?
又或者如何截取中間的文字呢?
其實很簡單!與Excel函數操作方式相同,差別在儲存格設定不同而已。
擷取左邊文字
原Excel函數「=left(A2,4)」,而用於VBA只需將「A2」換成儲存格語法「cells(2,1)」即可。
※輸入以下指令※
Sub 擷取左邊文字()
Cells(2, 2) = Left(Cells(2, 1), 4)
End Sub
執行巨集則「擷取左邊」文字。
擷取右邊文字
原Excel函數「=right(A2,5)」,而用於VBA只需將「A2」換成儲存格語法「cells(2,1)」即可。
※輸入以下指令※
Sub 擷取右邊文字()
Cells(2, 3) = Right(Cells(2, 1), 5)
End Sub
執行巨集則「擷取右邊」文字。
擷取中間文字
原Excel函數「=Mid(A2,4,3)」,而用於VBA只需將「A2」換成儲存格語法「cells(2,1)」即可。
※輸入以下指令※
Sub 擷取中間文字()
Cells(2, 4) = Mid(Cells(2, 1), 4, 3)
End Sub
執行巨集則「擷取中間」文字。
連續執行
結合簡單的For迴圈,則可連續執行。
※輸入以下指令※
Sub 擷取左邊右邊中間文字()
For i = 2 To 11
Cells(i, 2) = Left(Cells(i, 1), 4)
Cells(i, 3) = Right(Cells(i, 1), 5)
Cells(i, 4) = Mid(Cells(i, 1), 4, 3)
Next
End Sub
執行巨集則一次擷取「左邊/右邊/中間」文字。