私は、列をループするマクロを持っていて、不要な配列内のものはすべて削除します。問題は、「削除可能な文字列」を含む特定のセルを保持するだけでなく、他の情報も保持したいということです。文字列を含む代わりに文字列全体を一致させる
E.G:削除する配列の中に「VARO」がある場合。私は "VARO - summary"でセルを削除したくないので、 "VARO"だけを含むセルを削除したいだけです。これを達成するために私のコードで何を変更するべきかわからない!私はまだ
Dim tDelete As Variant
Dim sKeep As String, x As Long
Dim rngSearch As Range, c As Range
Dim i As Long, j As Long
tDelete = Array("ABEL", "VARO")
Dim delCell As Boolean
For x = Range("A" & Rows.Count).End(xlUp).Row To 5 Step -1
Set c = Range("A" & x).Cells
delCell = False
For j = LBound(tDelete) To UBound(tDelete)
If InStr(c.value, tDelete(j)) Then
delCell = True
End If
Next j
If deleteCell Then c.EntireRow.Delete shift:=xlShiftUp
Next x
:)学んでいるような構文でも効率上の任意のヘルプは素晴らしいことだ私の勘では、問題がInStr関数であるが、私はこれを変更する方法を知っているではないだろうということです!
EDIT: StrCompを使用することを考えていますが、適切な構文が不明です。その場合にはその後、私は
If StrComp(c.value, tDelete(j))=0 Then
完全一致であることを確認できれば、なぜ部分一致を確認する必要がありますか?私がここで逃しているものを疑問に思ったり、おそらく私はあなたが完全一致で何を意味するのか誤解していました。 –
@ Forward-ed、最初のテストは、一致が正確である場合にのみ真です。 2つ目はそれが含まれているときです。しかし、私は今、彼がそれを逆に望んでいるのを見る。これにより、さらに簡単になります。正確な一致をテストして削除するだけです。 –