2016-07-25 3 views
0

Я пытаюсь установить макрос, который в какой-то момент приведет к установке ячейки на сумму нескольких ячеек. Однако ячейки, которые будут суммированы, являются переменными и основаны на других вещах (и будут меняться на каждой итерации макроса). Я закодировал макрос таким образом, что я буду знать строку, на которой находятся ячейки, а также столбец начальной ячейки и столбец конечной ячейки (т. Е., Возможно, с A600 до A606 будут суммированы). Тем не менее, я задал эти назначения столбцов и строк для переменных, например Y, Xstart и Xend. Как я могу выбрать сумму этих диапазонов, ячейки определяются только переменными?Ссылаясь на диапазон, основанный на переменных в excel?

set rng = "=SUM(& Y & Xstart &, & Y & Xend &)" 

Это была моя первоначальная догадка?

ответ

3

Используйте set при настройке ссылки на объект. Range.Formaula возьмите строковый аргумент, и это также означает «= Sum()».

Sub Example() 

    Dim Xstart As Long, Xend As Long 
    Dim TargetRange As Range, SumRange As Range 
    Dim Y as string 
    Y = "B" 

    Xstart = 2 
    Xend = 100 

    Set SumRange = Range(" & Y & & Xstart & ":" & Y & Xend) 
    Set TargetRange = Range("A1") 

    TargetRange.Formula = "=SUM(" & SumRange.Address & ")" 

End Sub 
+0

Что такое Y - переменная, хотя? Не ссылаться на столбец. –

+0

Что делать, если Y является * –

+0

Я обновил свой ответ, сделав Y переменной. Главное, что мы строим строку для перехода в свойство формулы целевого диапазона. Спасибо за галочку! –

Смежные вопросы