Как добавить ячейку со значением формулы? - PullRequest
0 голосов
/ 10 марта 2012

Я пытаюсь создать небольшой макрос, который отформатирует некоторые данные, чтобы я мог составить прайс-лист. Когда я помещаю информацию в 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 голосов
/ 10 марта 2012

Просто используйте .Formula вместо .Value

Это вернет строку для константы, где она является константой, или строку для «формулы», которую Excel считает соответствующим образом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...