Разница между Sheet.Range.Value и Sheet.Range.Cells - PullRequest
0 голосов
/ 12 октября 2019

Мне интересно, в чем разница между Sheet.Range.Value и Sheet.Range.Cells? Я знаю, что первый получает значение из указанного диапазона, а второй я не совсем уверен. Кто-нибудь знает, что это?

1 Ответ

0 голосов
/ 12 октября 2019

Я ответил на это в комментариях к твоему предыдущему посту. Но вот еще раз объяснение ...

Нет "ячейки" Range ("F2: G2") или value. F2:G2 - это диапазон ячеек (или массив, если вы думаете о Python). Подумайте о столбце ячеек в Excel, если вы введете формулу ="F2:G2", вы не получите значение. Вы должны указать, хотите ли вы добавить, усреднить, объединить и т. д.

cells - это совокупность всех ячеек в диапазоне. Вы можете проходить через них, считать их и т. Д.

Вот иллюстрация:

Sub SubName()
    'put some text into cells A1:A3"

    Dim aCell As Range, helperText As String

    For Each aCell In Range("A1:A3").Cells
        'captures the value of each cell
        helperText = helperText & aCell.Value

        MsgBox "You are looping through the range and on cell " & aCell.Address _
        & ", and the concatenated result of this loop is " & helperText

    Next aCell

End Sub
...