私は VBA を初めて使用し、2 つのシート間で部分的な文字列 (またはセル) の一致を行いたいと考えています。
Name1 の例は、「IT エグゼクティブ Sally Lim」です。
Name2 の例は「Sally Lim」です。
Name1 = Sheets("Work").Cells(RowName1, ColName1)
Name2 = Sheets("Roster").Cells(RowName2, ColName2)
'This condition doesn't work
If Name1 = "*" & Name2 & "*" Then
'The "Name2" comes out with a compile error: Invalid Qualifier
Name2.Font.Strikethrough
Exit Do
Else
End If
しかし、それは機能していません。コーディングを実行すると、何も起こらないか、エラーが表示されます。助けてください
編集されたコーディング:
If ShiftName Like "*" & CashName & "*" Then
CashName.Font.Strikethrough = True
John Coleman の提案に従って宣言を「文字列」から「範囲」に変更した後、取り消し線の部分が解決され、「コンパイル エラー」が表示されなくなりました。
Name1 と Name2 を両方とも Sally に変更してテストし、次の条件を三振に使用すると動作します。条件を実行不可能にしたのは「*」であると私は信じていました。
If ShiftName Like CashName Then
CashName.Font.Strikethrough = True
それに応じて条件を変更して部分一致を行うにはどうすればよいですか?
2番目の編集:
私の悪い!Name1 が大文字になっていることに気付きました。