0
我想对Excel VBA中的一列数据运行简单的操作。如果列B中的单元格以'N'之前的字母开头,则该单元格没有任何反应。如果单元格以字母“N”开头或之后(在字母表中),则用“!!!!!”替换单元格内容。Excel VBA:使用那些相同单元格的内容执行覆盖单元格内容的功能
这里是我的代码,正确适用这另一个柱:
Range("C1", Range("C1").End(xlDown)).Value = "=IF(LEFT(A1,1)<""N"",B1,""!!!!!"")"
这工作得很好,使C列包含正确的输出。但是,为了替换B列,我需要将列C转换为文字值,然后删除列B中的所有列。
这些额外的步骤看起来有点不必要和麻烦。有没有办法将公式直接应用于B列,而无需将值分配给单独的列,然后销毁原始列B?
您可以在B中放置公式,然后将该值粘贴回B本身。 – Passerby
对不起,我没有得到你的观点 - 测试 - 看起来工作正常。也许你应该提供一些数据例子。 – Jook
你的代码将这个设置为colularC,这个公式将反映col B的值或“!!!!”的值。 - 如果您想直接更改B,则可以执行vba中的公式,然后替换col B的值。 – Jook