Saya mencoba menetapkan filter/tema tertentu di kolom C:C ke setiap baris berdasarkan kata-kata di kolom A:A.

Misalnya. konten di kolom A "Seperti apa sinyal perdagangan itu?"
Saya ingin menetapkan baris tertentu dengan nama "sinyal perdagangan" di kolom C.

Itu tidak menyaring dengan benar. Itu menempelkan "Tidak Ditangkap" di semua sel C dari semua baris.

Sub EmailThemes()
Dim SearchRange As Range
Dim InsertRng As Range
Dim Cell As Range

Range("C8:C10000").Clear

Set SearchRange = Worksheets("Data").Range("A7:A1500")
Set InsertRng = Worksheets("Data").Range("C7:C1500")

For Each Cell In SearchRange
    If Cell.Value Like "*Chart*" = True Then
        InsertRng.Value = "Charts"
        
    ElseIf Cell.Value Like "*Investor*" = True Then
        InsertRng.Value = "Investor"
        
    ElseIf Cell.Value Like "*Trade Signals*" = True Then
        InsertRng.Value = "Trade Signals"
    
    ElseIf Cell.Value Like "*Account*" = True Then
        InsertRng.Value = "Account"
    
    ElseIf Cell.Value Like "*Watchlist*" & "*Trade*" & "*Order*" = True Then
        InsertRng.Value = "Trading"
    
    Else
        InsertRng.Value = "Not Captured"
    
    End If
    
Next Cell

End Sub
0
Dossing 19 November 2020, 15:43

1 menjawab

Jawaban Terbaik

Anda mengulangi melalui SearchRng, namun Anda tidak memperbarui sel yang sesuai di InsertRng, tetapi setiap langkah Anda menimpa seluruh InsertRng.

Karena pada akhirnya Anda akan selalu memiliki sel kosong yang tidak cocok dengan kondisi apa pun, Anda hanya akan mendapatkan "Tidak ditangkap" di mana-mana.

Itu selalu ide yang baik untuk men-debug kode Anda sehingga Anda akan melihat apa yang terjadi setelah menjalankan setiap baris kode.

Anda dapat melakukan sesuatu seperti:

Intersect(Cell.EntireRow,InsertRng).Value = "..."

0
Máté Juhász 19 November 2020, 13:24