Excel VBA - *word*까지 문자열 내용 삭제
문자열에 포함된 특정 단어까지 문자열 내용을 삭제하려고 합니다.예를들면
"Emily has wild flowers. They are red and blue."
저는 그것을 대체하기 위해 VBA를 사용하고 싶습니다.
"They are red and blue."
즉, "그들"이라는 단어까지 모든 내용을 제거합니다.문자열 내용과 포함된 문자 수를 알 수 없습니다.
어떻게 해야 할지 잘 모르겠고 도와주시면 정말 감사하겠습니다!
여기 있습니다.
Dim s As String
s = "Emily has wild flowers. They are red and blue."
Dim indexOfThey As Integer
indexOfThey = InStr(1, s, "They")
Dim finalString As String
finalString = Right(s, Len(s) - indexOfThey + 1)
문자열의 값 앞에 있는 모든 텍스트를 삭제하는 간단한 예입니다.
Sub Foo()
Dim strOrig As String
Dim strReplace As String
strOrig = "The Quick brown fox jumped over the lazy dogs"
strReplace = "jumped"
MsgBox (DropTextBefore(strOrig, strReplace))
End Sub
Public Function DropTextBefore(strOrigin As String, strFind As String)
Dim strOut As String
Dim intFindPosition As Integer
'case insensitive search
'could made it so that case sensitivity is a parameter but this gets the idea across.
If strOrigin <> "" And strFind <> "" Then
intFindPosition = InStr(UCase(strOrigin), UCase(strFind))
strOut = Right(strOrigin, Len(strOrigin) - (intFindPosition + Len(strFind) - 1))
Else
strOut = "Error Empty Parameter in function call was encountered."
End If
DropTextBefore = strOut
End Function
위의 예에서 "그들"과 같이 단어가 고정되어 있다면, 당신은 간단하게 할 수 있습니다.
- CTRL + H(바꾸기)
- *그들(별과의 약속)
검색합니다.별표(*)는 단어 앞이나 뒤(마지막에 추가된 경우)의 -로 호출할 수 있는 와일드카드 문자입니다.
주의:같은 셀에 중복된 단어가 있을 경우 주의하십시오.
이것은 저에게 매우 효과적이었습니다.
Sub remove_until()
Dim i, lrowA, remChar As Long
Dim mString As String
lrowA = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To lrowA
mString = Cells(i, 1).Value
If InStr(mString, "They") > 0 Then
remChar = Len(mString) - InStr(mString, "They") + 1
Cells(i, 2).Value = Left(mString, Len(mString) - remChar)
End If
Next
End Sub
언급URL : https://stackoverflow.com/questions/18402931/excel-vba-delete-string-content-up-to-word
'programing' 카테고리의 다른 글
함수를 변수로 반응에 전달하는 방법TypeScript의 JS 구성 요소 (0) | 2023.06.13 |
---|---|
아파치 포이는 다른 워크북에 한 가지 스타일을 적용합니다. (0) | 2023.06.13 |
PIL을 사용하여 이미지를 자르는 방법은 무엇입니까? (0) | 2023.06.13 |
MYSQL / Mariadb 세션 변수에 대한 REVOKE 'SET' 권한 (0) | 2023.06.13 |
표본 데이터에서 신뢰 구간 계산 (0) | 2023.06.13 |