0
MS Excelの各セルを500セルの列に100文字にトリミングしたい。どのようにVBAの文字列からテキストを削除するのですか?Microsoft Excel
最初のセルから始めて、文字列の長さが100文字かどうかを確認します。単語が100以上の場合は、セル内の1語を削除し、100以上の場合はもう一度チェックし、文字列が100未満になるまで別の単語を削除します。その後、100文字未満の文字列を前の100文字以上の文字列。
次に、別のセルに移動し、前の手順を完了します。
削除する単語はここで配列
であるが、これまでの私のコードです
Sub RemoveWords()
Dim i As Long
Dim cellValue As String
Dim stringLenth As Long
Dim myString As String
Dim words() As Variant
words = Array("Many", "specific ", "Huawei", "tend", "Motorolla", "Apple")
myString = "Biggest problem with many phone reviews from non-tech specific publications is that its reviewers tend to judge the phones in a vacuum"
For i = 1 To 13
cellValue = Cells(i, 4).Value
If Not IsEmpty(cellValue) Then
stringLength = Len(cellValue)
' test if string is less than 100
If stringLength > 100 Then
Call replaceWords(cellValue, stringLength, words)
Else
' MsgBox "less than 100 "
End If
End If
Next i
End Sub
Public Sub replaceWords(cellValue, stringLength, words)
Dim wordToRemove As Variant
Dim i As Long
Dim endString As String
Dim cellPosition As Variant
i = 0
If stringLength > 100 Then
For Each wordToRemove In words
If InStr(1, UCase(cellValue), UCase(wordToRemove)) = 1 Then
MsgBox "worked word found" & " -- " & cellValue & " -- " & key
Else
Debug.Print "Nothing worked" & " -- " & cellValue & " -- " & key
End If
Next wordToRemove
Else
MsgBox "less than 100 "
End If
End Sub
だけで、別のアプローチあなたがそれを好きならば、...私は分離コードを持っています文字列を単語に分割し(区切り文字 ''、空白文字)、区切り文字の配列を返します。文字列の長さが100より大きい場合、すべての単語の配列を作成して連結することができます長さのカウントを維持しながら.. –
あなたはクエストを忘れてしまったようですイオン! – SJR
あなたには違いがあるのかどうか分かりませんが、MotorolaではなくMotorolaです。 – Moacir