我試過Google搜索答案,但不幸的是,在這種情況下,我無法找到滿足我特定需求的任何內容。VBA複製一個單元格的內容減去另一個單元格的內容
我有兩個單元格,其中後一個單元格也可以在第一個單元格中找到。我想複製從小區1〜小區3的所有內容減去小區2
的內容例如:
小區1
這是示例文字
Cell 2
樣品
小區3
這是文本
有什麼辦法或者通過VB宏甚至用一個簡單的公式來做到這一點?
在此先感謝,任何幫助表示讚賞。
我試過Google搜索答案,但不幸的是,在這種情況下,我無法找到滿足我特定需求的任何內容。VBA複製一個單元格的內容減去另一個單元格的內容
我有兩個單元格,其中後一個單元格也可以在第一個單元格中找到。我想複製從小區1〜小區3的所有內容減去小區2
的內容例如:
小區1
這是示例文字
Cell 2
樣品
小區3
這是文本
有什麼辦法或者通過VB宏甚至用一個簡單的公式來做到這一點?
在此先感謝,任何幫助表示讚賞。
試試這個:
Sub removeYourString()
Dim withParts As String
Dim removeParts As String
Dim withoutParts As String
withParts = Range("A1").Value
removeParts = Range("A2").Value & " "
withoutParts = Replace(withParts, removeParts, "")
Range("A3").Value = withoutParts
End Sub
列
Sub removeYourString()
Dim withParts As String
Dim removeParts As String
Dim withoutParts As String
Dim i As Integer
For i = 1 To 100
withParts = Range("A" & i).Value
removeParts = Range("B" & i).Value & " "
withoutParts = Replace(withParts, removeParts, "")
Range("C" & i).Value = withoutParts
Next i
End Sub
刪除所有或者使用一個公式,並通過C100放在C1
=SUBSTITUTE(A1,B1 & " ","")
非常感謝,pokemon_Man。這正是我所期待的。如何擴展代碼以便引用整列而不是單元格?例如,取A1到A100的條目,並從B1到B100條目中刪除相應條目,並將其放入C1到C100中。 –
檢查更新後。 –
@ D.Todor-當有完美的工作表公式時,真的不需要VBA。 – SJR
您可以解決這個公式在小區3 :
=CONCATENATE(LEFT([Cell1],FIND([Cell2],[Cell1],FIND([Cell2],[Cell1])+1)-1),RIGHT([Cell1],FIND([Cell2],[Cell1])+LEN([Cell2])+1))
在闡述的SUBSTITUTE
SJR的建議:
用下面的公式:=TRIM(SUBSTITUTE(A1,B1,""))
。把它放在C1中並抄下列。這將從列1中的字符串中刪除第2列中的單詞。TRIM
函數刪除單詞被刪除的多餘空格。如果一個單詞可以作爲另一個單詞的一個子集出現(例如單詞'test',但字符串'Test,testing,1,2,3'),則可以在過濾詞的末尾添加一個空格,以便'測試'不匹配。
如果該單詞出現多次,它將刪除所有匹配,除非您指定要刪除的出現次數。將(A1,B1,"")
更改爲(A1,B1,"",1)
將僅刪除第一個出現的匹配項。因此,'Test1 test2 test3'將更改爲'1 test2 test3'
檢查出SUBSTITUTE公式。 – SJR
@SJR巨魔模式ON:LOL「特定需求」! – R3uK
或'WorksheetFunction.Replace' https://msdn.microsoft.com/en-us/library/office/ff194800.aspx – Vityata