我不会建议VBA,因为工作表功能,非常适合这种事情:
=MID(A1,FIND(".",A1)+1,100))
=REPLACE(A1,1,FIND(".",A1),"")
...只是两个例子尚未被赋予
如果你想给VBA一展身手,此功能在您的VBA编辑器添加到模块:
Function GetRight(rng As Range)
GetRight = Right(rng.value, Len(rng.value) - InStr(rng.value, "."))
End Function
...然后只需使用该函数的工作表上这样
=GetRight(A1)
可以沿上下拖动这像一个正常的功能
编辑
以下是完整的代码,如果你想VBA找到在A列的所有值和所需的输出返回到B列
Sub GetAllRight()
Dim rng As Range, r As Range
With ThisWorkbook.Worksheets("Sheet1")
Set rng = .Range(.Range("A1"), .Range("A" & .Rows.Count).End(xlUp))
End With
For Each r In rng
r.Offset(0, 1).Value = GetRight(r)
Next r
End Sub
Function GetRight(rng As Range) As String
GetRight = Right(rng.Value, Len(rng.Value) - InStr(rng.Value, "."))
End Function
嘿!多谢你们俩。这两个答案都非常有价值。 如果范围一直在变化怎么办?我如何用循环解决这个问题?只要找到特定列中的数据,我就想循环运行? –