Уважаемые форумчане, на вас последняя надежда. При помощи макроса и инструмента "консолидации" подсчитана средняя из двух листов. В примере оставил два листа, но чаще всего приходится работать с большим. Консолидацию в зависимости от задач, приходится выполнять для разных листов. Проблема в следующем. В столбец "Н" на листе-"Среднее1" занесена интересующая меня формула. Занесена она в ручную. Подскажите пожалуйста можно ли написать макрос или поправить существующий, который бы выполнял просчет этих значений в зависимости от консолидированных листов?
Sub Усредненная_проба()
'Раскрытие Исходного листа
Sheets("Исходный").Visible = True
'Коприрование Исходного
Sheets("Исходный").Copy Before:=Sheets(1)
'Сокрытие Исходного листа
'Sheets("Исходный").Visible = False
'Переименование копии листа
Sheets("Исходный (2)").Select
Sheets("Исходный (2)").Name = "Усредненная проба"
'Вызов окна консолидации данных
Range("C1:G1").Select
Application.Dialogs(xlDialogConsolidate).Show
'Скрытие незаполненных строк
For N = 2 To 17
If Cells(N, 4) = 0 Then Rows(N).Hidden = True
Next
'Формирование окончательного вида пробы
Columns("A:G").Select
Selection.EntireColumn.Hidden = False
Range("A1").Select
'Формирование предупреждающего сообщения и
'преименование пробы
Dim SheetName As String
Do
SheetName = InputBox("Введите название усредненной пробы:")
Loop While SheetName = "" Or Len(SheetName) > 31 'не более 31 знака
ActiveSheet.Name = SheetName
End Sub
Вот эта злосчастная формула: =100*(((ЕСЛИ('1'!C2>0;1;0))+(ЕСЛИ(Лист2!C2>0;1;0)))/(СУММ('1'!G2;Лист2!G2)))*Средняя1!C2/Средняя1!$C$11 Возможно ли запускать ее выполнение макросом, но не выбирать листы в ручную, а считать в зависимости от консолидированных листов?
Формула имеет вид Di = 100 × (mi / Mi)× Ni / Ns , Т.е. в зависимости от консолидации нужно выполнить подсчет следующих компонентов: mi – число листов, в которых значения ячейки C2 принимают положительные значения, т.е. вид присутствует в пробе M – общее число листов использованных при консолидации, Ni – полученное после консолидации среднее значение каждого аргумента из ячейки С2, Ns – общее число особей всех видов. В данный момент это итоговая ячейка С11.