回覆列表
-
1 # 使用者3238379927292
-
2 # 使用者2458114238191884
Sub main()
For Each Rng In Range("A1:A100")
If Rng = Cells(1, "C") Then
Cells(Rng.Row, "B") = Cells(1, "D")
End If
Next
End Sub
Sub main()
For Each Rng In Range("A1:A100")
If Rng = Cells(1, "C") Then
Cells(Rng.Row, "B") = Cells(1, "D")
End If
Next
End Sub
一個思路--用“替換”功能。
用VBA實現的程式碼為:
以上程式碼可以直接用,前提是在E列填入專線型別,作為輔助資料:
你可以手動填寫專線型別;或者你有所有專線型別的資料,可以將它放入這一列。然後執行這段程式碼試試,不出意外的話結果會和你描述截圖中的結果一樣。
如果不用輔助資料,而是直接從A列中找規則提取,暫時沒有發現規則。專線型別前的文字不一,長短不一。且專線型別本身也是無規則的。
以下是可複製的程式碼:
Sub test()
Dim rng As Range
ActiveSheet.Range("A:A").Copy
ActiveSheet.Range("B1:C1").Select
ActiveSheet.Paste
For Each rng In ActiveSheet.Range("E1:E" & ActiveSheet.Range("E65536").End(xlUp).Row)
ActiveSheet.Range("B:B").Select
Selection.Replace What:=rng & "*", Replacement:=""
ActiveSheet.Range("C:C").Select
Selection.Replace What:="*" & rng & "*", Replacement:=rng
Next
End Sub