Excel #当C列单元格为空时,G列中的值错误

Excel #当C列单元格为空时,G列中的值错误,excel,vba,Excel,Vba,嗨,我有下面的公式,它操作C列中的字符串并在G列中返回该值: Range("G1").Select Range("G:G").Value = "=MID(C1,18,LEN(C1)-22)" 但现在我有一个问题。上述公式无限填充G列中的单元格,当C列中的单元格为空时返回#VALUE错误 是否有办法限制公式中的范围(“G:G”).Value,仅当C列中的单元格有值时才填充G列 谢谢 类似这样的东西,相当于 识别列C 将公式放入=IF(LEN(C1)>22,MID(C1,18,LEN(C1)-2

嗨,我有下面的公式,它操作C列中的字符串并在G列中返回该值:

Range("G1").Select
Range("G:G").Value = "=MID(C1,18,LEN(C1)-22)"
但现在我有一个问题。上述公式无限填充G列中的单元格,当C列中的单元格为空时返回
#VALUE
错误

是否有办法限制公式中的
范围(“G:G”).Value
,仅当C列中的单元格有值时才填充G列


谢谢

类似这样的东西,相当于

  • 识别列
    C
  • 将公式放入
    =IF(LEN(C1)>22,MID(C1,18,LEN(C1)-22),“”)的相应
    G
    列中
  • 使用
    .Value
代码

   Sub G_Spot()
    Dim rng1 As Range
    Set rng1 = Range([c1], Cells(Rows.Count, "C").End(xlUp))
    With rng1.Offset(0, 4)
            .FormulaR1C1 = "=IF(LEN(RC[-4])>22,MID(RC[-4],18,LEN(RC[-4])-22),"""")"
            .Value = .Value
    End With
    End Sub

相反,为什么不能处理公式本身的错误呢?