如何附加具有公式值的单元格?

时间:2012-03-09 23:41:25

标签: excel-vba vba excel

我正在尝试使用一个宏来格式化一些数据,以便我可以制作价格表。当我把信息放在excel中时,它工作正常,但是有些笔记会将它放到下一行。这应该是获取单元格内容并将它们附加在它上面的单元格。

Sub Macro1()
    For i = 8 To 100000
        If Left(ActiveSheet.Cells(i + 1, 1).Value, 2) = "AC" Or ActiveSheet.Cells(i + 1, 1).Value  = vbNullString Then
        Else
            If Left(ActiveSheet.Cells(i + 1, 1).Value, 4) = "Page" Then
                ActiveSheet.Rows(i + 1).Delete shift:=xlUp
            Else
                Dim tempString As Variant
                tempString = ActiveSheet.Cells(i + 1, 1).Value
                ActiveSheet.Cells(i, 1).Value = ActiveSheet.Cells(i, 1).Value + " " + tempString
                ActiveSheet.Rows(i + 1).Delete shift:=xlUp
                i = i - 1
            End If
        End If
    Next
End Sub

直到我遇到一个单元格值才能正常工作:

=- 4-7

(这不是一个真正的公式,它只是一个) 这给了我一个类型不匹配的错误。我应该使用其他方式指定单元格内容吗?此外,可能有更好的方法来指定范围,我真的只想一直走到A列。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

只需使用.Formula代替.Value

这将返回一个常量的字符串,它是一个常量,或者是excel认为它的“公式”的字符串。