Прошу помощи, т.к. все, что предлагается в качестве методов по уменьшению размера файлов (в т.ч. читала здесь http://www.planetaexcel.ru/techniques/12/114/), не позволило найти причину.
Изначально стала возникать проблема в документе с большим количеством листов и большого размера: на нескольких листах не могу добавить строки, возникает сообщение, что потребуется обновить большое число данных, если принять - файл зависает, а затем и вовсе excel прощается. Тогда один из таких листов скопировала в отдельную книгу, чтобы выявить причину . Оборвала связи с исходным файлом. Однако даже в отдельной книге строки не добавлялись.
Тогда: Удалила все форматы Удалила имена Запустила макрос с поиском скрытых имен, было одно - удалила. Удалила все объекты (кнопки с макросами) Обновила через удаление все строки. (сводных таблиц не было, общего доступа к книге также нет и не было)
Вроде, проверила все, остался пустой лист, но файл весит 2,7 Мб. Где искать? Очень нужно понять причину, чтобы в исходном документе (в модели) восстановить возможность добавления строк на листе.
Задача следующая: требуется вывести в новом диапазоне те статьи, которые соответствуют определенному условию. Пытаюсь сделать это через функцию, т.к. необходимо, чтобы пересчет происходил автоматически. В итоге при протягивании формулы возникает либо задвоение статей, либо выскакивает через несколько пустых строк, а нужно, чтобы были по порядку. Если зайти и выйти в первую ячейку, то автоматически все становится как нужно, но это не вариант.
Как это исправить и возможно ли? Помогите, пожалуйста. Спасибо
Собственно, код (в файле есть второй вариант):
Код
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
Добрый день! Помогите, пожалуйста. В коде листа Сценарии есть макрос (ниже), он работает, но при его наличии на листе Предпосылки перестают работать кнопки Отменить/Вернуть. В чем причина и как устранить проблему? Спасибо!
Код
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