想請問要如何使用VBA抓取某個字元後的數值並進行運算?
假如用EXCEL,可以透過FIND、RIGHT、LEN函數去抓取數值出來再運算。
但在WORD裡,就沒有辦法使用函術式了...
我不太理解VBA要怎讓WORD判斷字元數,因為數值長短不一。
取一小部分來說
G2 X7. Y9.75 Z14. I10.75 J-1.051
Z12.5 I0. J-9.75
Z11. I0. J-9.75
Z9.575 I0. J-9.75
Z8. I0. J-9.75
Z-6.5 I0. J-9.75
Z-5. I0. J-9.75
Z3.5 I0. J-9.75
Z2. I0. J-9.75
Z.5 I0. J-9.75
這段文字中,Z有整數、小數、負數。
並且Z數值長短不一,我想抓Z後面數值並進行運算,比方說乘二。
結果可能就變成如下
G2 X7. Y9.75 Z28. I10.75 J-1.051
Z25. I0. J-9.75
Z22. I0. J-9.75
Z19.15 I0. J-9.75
Z16. I0. J-9.75
Z-13. I0. J-9.75
請問VBA該怎寫才能抓取Z後方的數值?
不好意思呀,問這麼菜鳥的問題m(_ _)m
因為實際上要運用的場合,可能會有百行左右,人工去取代、運算總會漏,所以才想試著用電腦處理這段。
Sub marco1()
For times = 1 To 10
With Selection.Find
.Text = "Z*I"
.Execute
.MatchWildcards = True
End With
Selection = "Z" & Mid(Selection, 2, Len(Selection) - 3) * 2 & " I"
Next
End Sub
不確定是不是能幫上忙,我在mac試過,游標放在文章最開始,然後因為這邊我放了範例的十列,所以for 是1到10
可以試試看