Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Не удается уменьшить размер файла
 
ZVI, спасибо, но вариант с созданием нового листа и копированием данных я знаю и не обращалась бы за помощью. Конечно, если не удастся разобраться, так и придется делать, но не хотелось бы: этот вариант не подходит, потому как на данный лист (в файле с моделью, в котором он используется) много ссылок, соответственно, придется заново прописывать и линковать. Кроме того, таких "проблемных" листов несколько, в связи с чем работа увеличивается.
Задача - разобраться, где зарыт источник утяжеления, чтобы не прибегая к переносу данных и прописыванию заново формул, его устранить плюс на случай, если проблема вновь возникнет в будущем.
Изменено: erd85 - 20.01.2016 10:43:16
Не удается уменьшить размер файла
 
Добрый вечер.

Прошу помощи, т.к. все, что предлагается в качестве методов по уменьшению размера файлов (в т.ч. читала здесь http://www.planetaexcel.ru/techniques/12/114/), не позволило найти причину.

Изначально стала возникать проблема в документе с большим количеством листов и большого размера: на нескольких листах не могу добавить строки, возникает сообщение, что потребуется обновить большое число данных, если принять - файл зависает, а затем и вовсе excel прощается.
Тогда один из таких листов скопировала в отдельную книгу, чтобы выявить причину .
Оборвала связи с исходным файлом.
Однако даже в отдельной книге строки не добавлялись.

Тогда:
Удалила все форматы
Удалила имена
Запустила макрос с поиском скрытых имен, было одно - удалила.
Удалила все объекты (кнопки с макросами)
Обновила через удаление все строки.
(сводных таблиц не было, общего доступа к книге также нет и не было)

Вроде, проверила все, остался пустой лист, но файл весит 2,7 Мб.
Где искать?
Очень нужно понять причину, чтобы в исходном документе (в модели) восстановить возможность добавления строк на листе.

Благодарю.

Собственно, "чистый" документ: лист Вывоз5
Исходник: лист Вывоз
Выбор следующего значения по условию (функция)
 
Тогда вот так:
Код
 =ЕСЛИОШИБКА(ИНДЕКС(Лист1!A$9:A$82;НАИМЕНЬШИЙ(ЕСЛИ(Лист1!B$9:B$82=Лист1!K$1;СТРОКА(Лист1!B$9:B$82));СТРОКА(A9)-СТРОКА($A$8))-СТРОКА($A$8));"")

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

Спасибо большое!

P.S.: хотя прописать формулу в VBA я не оставляю надежды :)
Выбор следующего значения по условию (функция)
 
Нет, массив не очень большой. А в данном примере сдвинула диапазоны, уже не срабатывает. Также для эксперимента перенесла формулу на лист 2.

Логика формулы понятна, не могу разобраться, почему не срабатывает.
Изменено: erd85 - 03.04.2014 17:12:45
Выбор следующего значения по условию (функция)
 
Спасибо большое, но, видимо, не подходит, потому что в этом файле (как пример) диапазоны в столбце A и B начинаются с 1 строки. В рабочем файле начинаются с другой строки, а формула прописывается вообще на другом листе
Выбор следующего значения по условию (функция)
 
Nic70y,
сапсибо, но я пробую, ввожу как массивную, выдает во всех строках один и тот же результат (см. файл).
Что в данной формуле означает СТРОКА(I1) - ?
Ссылка обязательно должна быть на 1ю строку?
Выбор следующего значения по условию (функция)
 
Необходимый результат выделен красным.
Выбор следующего значения по условию (функция)
 
Добрый день!

Задача следующая: требуется вывести в новом диапазоне те статьи, которые соответствуют определенному условию. Пытаюсь сделать это через функцию, т.к. необходимо, чтобы пересчет происходил автоматически.
В итоге при протягивании формулы возникает либо задвоение статей, либо выскакивает через несколько пустых строк, а нужно, чтобы были по порядку. Если зайти и выйти в первую ячейку, то автоматически все становится как нужно, но это не вариант.

Как это исправить и возможно ли? Помогите, пожалуйста.
Спасибо

Собственно, код (в файле есть второй вариант):

Код
 Public Function ВБРУСЛОВ(диапазон As Range, диапазон_условий As Range, условие As Range, нчлдиапазона As Range)
Dim n As Long
Dim i As Long
Dim c As Variant
Dim a As Long
Dim b As Long
Dim m As Long
Dim k As Long
Set chRng = диапазон
Set condRng = диапазон_условий
Set term = условие
Set begin = нчлдиапазона
n = chRng.Rows.Count
b = begin.Row
a = Application.ThisCell.Row
If a = b Then
m = 0
k = 0
Else
m = a - b
k = a - b - 1
End If
For i = 1 To n
c = chRng(i).Value
Set s = Application.ThisCell.Offset(-m, 0).Resize(Application.ThisCell.Rows.Count + k, Application.ThisCell.Columns.Count).Find(What:=c, LookIn:=xlValues)
If condRng(i).Value = term.Value And s Is Nothing Then
ВБРУСЛОВ = chRng(i).Value
Exit Function
End If
Next i

End Function
Изменено: erd85 - 03.04.2014 14:02:35
Не работают кнопки отменить/вернуть на определенном листе
 
Добрый день!
Помогите, пожалуйста.
В коде листа Сценарии есть макрос (ниже), он работает, но при его наличии на листе Предпосылки перестают работать кнопки Отменить/Вернуть.
В чем причина и как устранить проблему?
Спасибо!
Код
Private Sub Worksheet_Calculate()
If ThisWorkbook.Worksheets("Сценарии".Range("Scenario_Current" .Value <> If ThisWorkbook.Worksheets("Сценарии" .Range("CurrentCase".Value then
Application.EnableEvents = False
ThisWorkbook.Worksheets("Предпосылки".Range("PropertyTax".Value = ThisWorkbook.Worksheets("Сценарии".Range("PropertyTaxScen".Value
ThisWorkbook.Worksheets("Предпосылки".Range("IncomeTax".Value = ThisWorkbook.Worksheets("Сценарии".Range("IncomeTaxScen".Value
Application.EnableEvents = True
End if
End Sub
Страницы: 1
Наверх