2013-06-25 9 views
-1

Я изначально разместил что-то похожее на этом на форумах SSRS, но из-за ограничения SSRS это невозможно сделать, ну, похоже, это не так, поэтому я собираюсь попробовать его под другим углом.Excel Оценка по формуле

У меня есть документы Excel под названием «Prop1» и «Prop2». В Prop2 есть лист под названием «Данные», это экспортированный отчет SSRS, в столбце DF есть ряд функций, которые выглядят примерно так: =(DD3*5) работает по листу, но не отображается в каждой строке. Ячейка DD3 содержит число, экспортированное из отчета, например, мы скажем 79.

Я буду перетаскивать данные из Prop2 и вставить лист в Prop1, чтобы я мог запустить макрос, который оценивает все ячейки в Лист данных, который теперь находится в Prop1, и все, что похоже на формулу =(DD3*, оценивает это как правильную функцию Excel, так что при изменении значения в DD3 он изменяет результат вычисления.

К сожалению, этот документ будет предоставлен избранным людям, которые мало знают Excel, поэтому мне необходимо максимально автоматизировать это. Я пытался использовать код: -

Sub test() 
    Dim cell As Range 

    For Each cell In ActiveWindow.RangeSelection 
     cell.Value = Evaluate(cell.Formula) 
    Next cell 
End Sub 

Но не уверен, как настроить его, чтобы сделать то, что я пытался объяснить.

Может ли кто-нибудь помочь, поскольку у меня действительно заканчиваются другие варианты, чтобы все это работало.

Извините, у меня были ссылки на ячейки D33, а некоторые на DD3, все они должны быть DD3, и я соответствующим образом изменил вопрос.

+0

'= (3 $ DD $ * 5)' да? –

+0

Не знаете, что вы имеете в виду? – PJD

+0

не уверен, что вы просите, его неясно, так как никто еще не помог u –

ответ

0

Не уверен, но вы можете изменить cell.Value = Evaluate(cell.Formula)

с cell.Formula = cell.Value

Я уже пробовал, если положить ' в формуле

+0

Привет, matzone, не уверен, если я правильно поняли ваше предложение, спрашиваете ли вы, можно ли экспортировать значение Evaluate (cell.Formula), если это так, к сожалению, нет, после экспорта это значение просто осталось как текст, и я вернусь к его оценке во второй раз, предполагая, что я правильно вас понимаю! – PJD

+0

@PJD .. Он пробовал вот так: A1 = 1 .. B1 = 2 .. C1 = '= A1 + B1 .. тогда я выбираю C1 .. продолжайте выполнение кода .. поэтому C1 будет 3 .. – matzone

+0

Привет, matzone спасибо за попытку помочь, мой вывод в excel выглядит так, как вы, выход C1, но только формула показывает, как просто показывает ее как текст, мне нужно заставить Excel автоматически понять, что все, что мы будем говорить, имеет D33 * в ячейка действительно является формулой excel и должна рассматриваться как таковая. – PJD