我將如何從網站提取的資料中洗掉不需要的文本。我有一個宏,可以從網站中提取資料,但它是這樣出現的。
杰瑞史密斯 / 193640 / 主要
莫蒂史密斯 / 847478 / 主要
里克桑切斯 / 747264 / 主要
可怕的特里 / 726950 / 側
等等。
我只想擁有名稱而不是數字或主要/側面。
uj5u.com熱心網友回復:
試試代碼
Sub Test()
Dim rng As Range
Set rng = Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row)
rng.Offset(, 1).Value = Evaluate("IF({1},LEFT(" & rng.Address(0, 0) & ",SEARCH("" / ""," & rng.Address(0, 0) & ",1)-1))")
End Sub
uj5u.com熱心網友回復:
替代方式FilterXML()
使用較新的動態功能,您可以獲得溢位范圍或可選字串結果的輸出。
您應該能夠輸入一個公式,例如
=FILTERXML("<items><i>"&SUBSTITUTE(A1:A20," /","</i><i>")&"</i></items>","//i[1]")
CtrlShiftEnter也可以通過陣列公式( {=...})。
Sub GetFirstTokens()
'a) define fully qualified range
With Sheet1 ' << change to needed sheet Code(Name)
Dim rng As Range
Set rng = .Range("A1:A" & .cells(.Rows.Count, "A").End(xlUp).Row)
End With
'b) define formula
Dim myFormula As String
myFormula = "=FILTERXML(""<items><i>""&SUBSTITUTE(@,"" /"",""</i><i>"")&""</i></items>"",""//i[1]"")"
myFormula = Replace(myFormula, "@", rng.Address(0, 0))
Debug.Print myFormula
'c) write sheet related spill formula|results to next column
With rng.Offset(, 1).cells(1, 1)
.Formula2 = myFormula
'.Value = .Value ' << optional: get results instead of a spill range
End With
End Sub

轉載請註明出處,本文鏈接:https://www.uj5u.com/net/433518.html
