excel VBA剪切和复制特性

lmvvr0a8  于 2023-01-14  发布在  其他
关注(0)|答案(2)|浏览(147)

我想把我的第一行剪切/复制到同一张纸的第二行。
在我的第一个专栏(A1)中,我有这样的内容:
西班牙_1212_巴塞罗那
西班牙_2321_马德里
....
有没有一种聪明的方法来构建只包含Spain_XXXX而不包含城市名称的第二列?我只想复制前7个字符。感谢您抽出时间。问候

0tdrvxhp

0tdrvxhp1#

可以使用InStrRev来获取字符串中最后一个下划线的位置。

Function getCountryArea(Text As String)
    getCountryArea = Left(Text, InStrRev(Text, "_") - 1)
End Function

更新:

Function getCountryArea(Text As String)
    Text = Replace(Text, "SP", "Spain")
    getCountryArea = Left(Text, InStrRev(Text, "_") - 1)
End Function
lqfhib0f

lqfhib0f2#

这就是:

Option Explicit

Public Function str_name(str_input As String) As String
        
    Dim l_n as long
    
    l_n = InStr(1, str_input, "_", vbTextCompare)
    l_n = InStr(l_n + 1, str_input, "_", vbTextCompare)
    
    str_name = Left(str_input, l_n - 1)
    
End Function

Public Sub TestMe()

    Debug.Print str_name("Spain_1212_Barcelona")
    Debug.Print str_name("Spain_2321_Madrid")

End Sub

相关问题