excel 是否将一列的VBA公式显示为文本?

8wtpewkr  于 2023-06-25  发布在  其他
关注(0)|答案(1)|浏览(159)

我试图把一个VBA公式到列AC,但结果显示为文本。我试过清除该列的格式。按照类似的代码,其他列也成功地显示了公式,所以我不确定这个列有什么特别之处。这是一个使用日期字段的简单IF ELSE语句。
逻辑:如果AB列中有值,则返回AB。如果不是,则从W列返回。

Dim row As Long
row = Sheets("Data").Cells(Rows.Count, "A").End(xlUp).row

Worksheets("Data").Activate
Sheets("Data").Range("AC:AC").ClearFormats
Sheets("Data").Range("AC2:AC" & row ).Formula = "=IF(LEN(AB2) > 0, AB2, W2)"
xqnpmsa8

xqnpmsa81#

如果你复制下面的代码到你想要复制公式的工作表中,不需要工作表的名称,只需要使用关键字Me

Option Explicit

Sub copyFormula()
   Dim row As Long
   row = Me.Cells(rows.CountLarge, "A").End(xlUp).row
   
   With Me.Range("AC:AC")
      .ClearFormats
      '------------------------the next line is critical
      .NumberFormat = "General"
   End With
   Me.Range("AC2:AC" & row).Formula = "=IF(LEN(AB2) > 0, AB2, W2)"
End Sub

相关问题