Excel VBA でデータの列に対して簡単な操作を実行しようとしています。列 B のセルが「N」より前の文字で始まる場合、そのセルには何も起こりません。セルが文字 'N' 以降 (アルファベット) で始まる場合、セルの内容は "!!!!!" に置き換えられます。
これを別の列に正しく適用するコードは次のとおりです。
Range("C1", Range("C1").End(xlDown)).Value = "=IF(LEFT(A1,1)<""N"",B1,""!!!!!"")"
これは正常に機能し、列 C に正しい出力が含まれるようになります。ただし、列 B を置き換えるには、列 C をリテラル値に変換してから、列 B をすべて削除する必要があります。
これらの余分な手順は、少し不必要で面倒に思えます。値を別の列に割り当てて元の列 B を破棄することなく、式を列 B に直接適用する方法はありますか?