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

Страницы: 1 2 След.
power bi date hierarchy изменить язык
 
Если что, проблема сохранилась. Для себя нашел только один вариант. Взял один из старых файлов, где иерархия на русском, все снес кроме календаря и эту пустышку использую как базу для новых файлов

Впрочем и второй вариант прокатил. В версии от февраля 2022 нормально все работает. Там создал пустышку с календарем на русском. Прикрепил файл. Вдруг кому пригодится
Изменено: Павел - 05.05.2022 00:54:07
Подстановка динамического имени диапазона в выпадающий список в юзерформе (VBA)
 
Все работает! Спасибо!
Ошибка в другом месте была
Изменено: Павел - 25.08.2019 11:47:15
Подстановка динамического имени диапазона в выпадающий список в юзерформе (VBA)
 
Доброго времени суток!

Что то никак не могу разобраться с синтаксисом :(
Скриптом спамить не буду, кратко опишу.

Есть форма для заполнения юзерами. В форме есть выпадающие списки, которые формируются в зависимости от участка работы юзера. Т.е. выбор участка - выбор линии (динамический диапазон через ВПР).
В общем вопрос - как правильно указать VBA что имя источника для популяции списка Lines именно L (последняя строка).
Код
Dim L As String
L = CStr(main.Range("LineSource"))
Lines.List = lists.Range("" & L & "").Value
Такой вариант не работает - та же ошибка 1004
Lines.List = lists.Range("" & Range("LineSource") & "").Value

L определяется как, например, П_ЭСП.
Динамический список с 12 позициями так и называется П_ЭСП. Число списков будет пополняться, равно как и число участков.
Вот это
Код
Lines.List = lists.Range("П_ЭСП").Value
- заполняет список без проблем :(

Заранее спасибо!
Изменено: Павел - 25.08.2019 00:49:59
Разница между двумя столбцами в сводной таблице
 
Решение найдено. Может и не совсем элегантное.
В значение добавляем идентичное выводимому полю (в поле значения у нас получается Сумма по Полю количество и Сумма по Полю количество 2).
Кликаем на втором столбце в сводной таблице, выбираем Дополнительные вычисления - Отличия. Базовое поле Годы, Базовый элемент - в моем случае 2018.
Скрываем столбец с пустыми значениями. И все...
Разница между двумя столбцами в сводной таблице
 
Цитата
Archerius написал: Power PivotСоздание меры.
Не понимаю какую меру применить, т.к. данные в один столбец. Анализ пономеклатурный. Полной аналогии ассортимента производства нет - т.е. что то делаем в одном периоде, в другом это не делаем. Объем таблицы - пока около 400 000 строк и 21 столбик. В примере все урезано ессно.

Цитата
Archerius написал: На вкладке АНАЛИЗесть блок ВычисленияА там Поля, элементы и наборы
Проблема, что столбцы в сводной берут данные из одного столбца с фильтрацией по дате.
Через функции все элементарно делается через суммеслимн. Но шефам хочется динамическую весчь :(,а прописывать все формулами получается негибко и будет медленно работать с таким массивом, который постоянно будет дополняться.
Разница между двумя столбцами в сводной таблице
 
Приветствую коллеги!

Что то завис с одной простой проблемкой. Недавно начал осваивать сводные таблицы и сталкиваюсь с проблемами которые элементарно решал с помощью стандартных функций.

КАК вывести ТОЛЬКО в столбце итогов разницу между столбцами 2019 и 2018?
Поиски юзал, но везде что то не то :(
Заранее спасибо!!!

Пример в приложении. Хотел скрины просто выложить - на выходе белиберда получается если вставлять принтскрины.

UPD
Решение найдено. Может и не совсем элегантное.
В значение добавляем идентичное выводимому полю (в поле значения у нас получается Сумма по Полю количество и Сумма по Полю количество 2).
Кликаем на втором столбце в сводной таблице, выбираем Дополнительные вычисления - Отличия. Базовое поле Годы, Базовый элемент - в моем случае 2018.
Скрываем столбец с пустыми значениями. И все...
Изменено: Павел - 11.04.2019 12:37:31
Ошибка при заполнении диапазона формулами, Вываливается в ошибку 1004 - Range of Object _Worksheet failed
 
Пока в процессе. Трудновато воспринимается пока(((
Ошибка при заполнении диапазона формулами, Вываливается в ошибку 1004 - Range of Object _Worksheet failed
 
Sanja, спасибо!
Наверное излишне зациклился на формулах)))
Ошибка при заполнении диапазона формулами, Вываливается в ошибку 1004 - Range of Object _Worksheet failed
 
Возможно некоторое косоязычие меня накрыло в конце рабочей недели(((

Проблема одна - синтаксис команды для подстановки результата вычисления формулы в ячейку вместо самой формулы.

Иными словами, эти две строки
Код
sales.Range(Cells(8, 1), Cells(i, 1)).value = "=IFERROR(INDEX(Оплаты!C1,MATCH(Продажи!RC3,Оплаты!C3,0)),"""")"
sales.Range(Cells(8, 1), Cells(i, 1)).value =sales.Range(Cells(8, 1), Cells(i, 1)).value

возможно ли заменить одной?
Или без вариантов - учить матчасть, связанную с Application.WorksheetFunction?
Ошибка при заполнении диапазона формулами, Вываливается в ошибку 1004 - Range of Object _Worksheet failed
 
Цитата
Юрий М написал:
Вам правильно советуют: вычисляйте все программно, без вставки формул - в ячейку сразу результат (значение).
В том то и проблема, что не особо понимаю как. Я обращал внимание на этот свой недостаток(((

Через Application.WorksheetFunction для меня пока сложновато. Через стандартные формулы единственный путь, работающий, который нашел, описал в своем предыдущем посте.
Буду благодарен, если подскажете как... ну или направите мои поиски в нужном направлении ссылкой на ресурс. Пока для меня финансово-экономический анализ и прогноз на несколько порядков проще чем VBA
Ошибка при заполнении диапазона формулами, Вываливается в ошибку 1004 - Range of Object _Worksheet failed
 
Sanja,
пробовал
Код
sales.Range(Cells(8, 1), Cells(i, 1)).value = "=IFERROR(INDEX(Оплаты!C1,MATCH(Продажи!RC3,Оплаты!C3,0)),"""")" 

вставляет формулу в ячейку
Код
sales.Range(Cells(8, 1), Cells(i, 1)).value = "=IFERROR(INDEX(Оплаты!C1,MATCH(Продажи!RC3,Оплаты!C3,0)),"""")" .value

выдает ошибку.но если сделать так
Код
sales.Range(Cells(8, 1), Cells(i, 1)).value = "=IFERROR(INDEX(Оплаты!C1,MATCH(Продажи!RC3,Оплаты!C3,0)),"""")" 
sales.Range(Cells(8, 1), Cells(i, 1)).value =sales.Range(Cells(8, 1), Cells(i, 1)).value 

то все ок...

как то можно все уместить в одну строку?  
Ошибка при заполнении диапазона формулами, Вываливается в ошибку 1004 - Range of Object _Worksheet failed
 
Цитата
Sanja написал: Зачем Вы вставляете макросом формулу, если затем, тут-же, меняете ее на значение?
Формулы индекса с вложенным поиском позиции, когда их, формул, 200 000+++, мягко говоря замедляют работу. Это не учитывая нагрузки в виду вычисляемой части формул отчета итогового и графиков. Другого варианта пока не придумал(((
Немного помогло сохранение файла в бинарном формате. Анализ выгрузок из 1С двух разных организаций. Все ведется в разных базах. Глубина анализа - 12 месяцев от отчетной даты.

Как в коде считать пока не понял. Это был мой второй вопрос )))
Цитата
Karataev написал: Переходите макросом на лист "Продажи" перед вставкой формул
Спасибо! Я только сейчас сообразил, что убрал активацию листа, когда переименовывал Integer в Long, т.к. явно задал имена листов через DIm... Хотя, честно говоря, не особо понятно, почему заковыка в этом выходит. Я специально везде указывал привязку к листу. Впрочем работает и слава богу. Спасибо!
Ошибка при заполнении диапазона формулами, Вываливается в ошибку 1004 - Range of Object _Worksheet failed
 
Доброго времени суток!
Очередной вопрос от нуба.
Есть несколько листов с данными, которые надо обрабатывать подставляя формулы (фактически подстановка критериев для работы формул типа суммеслимн и иже с ней). Количество строк на листах 45 000 строк.
Код работал при количестве строк до 32 000 (переменные шли как Integer). Заменил на Long и ппц(((
Рылся и на форуме и в инете... так и не смог найти объяснение.
Основные части кода (однотипные части не выкладываю, т.к. идет однотипная обработка 6 листов, отличается только количество колонок куда подставляются формулы).
Код
Sub Tchpok()
Application.ScreenUpdating = False
Application.DisplayAlerts = False

Dim wb As Workbook
Set wb = ThisWorkbook

Dim sales As Worksheet
Set sales = wb.Sheets("Продажи")

Dim dz As Worksheet
Set dz = wb.Sheets("ДЗ")

Dim pay As Worksheet
Set pay = wb.Sheets("Оплаты")

Dim i As Long, n As Long, z As Long


i = Application.WorksheetFunction.CountA(sales.Columns(2)) + 5

sales.Range(Cells(8, 1), Cells(i, 1)).FormulaR1C1 = "=IFERROR(INDEX(Оплаты!C1,MATCH(Продажи!RC3,Оплаты!C3,0)),"""")"
    sales.Range(Cells(8, 1), Cells(i, 1)).Copy
    sales.Range(Cells(8, 1), Cells(i, 1)).PasteSpecial xlPasteValues

sales.Range(Cells(8, 17), Cells(i, 17)).FormulaR1C1 = "=IFERROR(INDEX(Менеджер_для_премии,MATCH(RC[-9],Менеджер_в_отчетах,0)),"""")"
    sales.Range(Cells(8, 17), Cells(i, 17)).Copy
    sales.Range(Cells(8, 17), Cells(i, 17)).PasteSpecial xlPasteValues

n = Application.WorksheetFunction.CountA(dz.Columns(1)) + 50

dz.Range(Cells(8, 15), Cells(n, 15)).FormulaR1C1 = "=IFERROR(INDEX(Продажи!C17,MATCH(ДЗ!RC1,Продажи!C3,0)),"""")"
    dz.Range(Cells(8, 15), Cells(n, 15)).Copy
    dz.Range(Cells(8, 15), Cells(n, 15)).PasteSpecial xlPasteValues

dz.Range(Cells(8, 16), Cells(n, 16)).FormulaR1C1 = "=IFERROR(INDEX(Месяц_период,MATCH(RC3,Дата_ДЗ,0)),R[-1]C)"
    dz.Range(Cells(8, 16), Cells(n, 16)).Copy
    dz.Range(Cells(8, 16), Cells(n, 16)).PasteSpecial xlPasteValues

dz.Range(Cells(8, 17), Cells(n, 17)).FormulaR1C1 = "=IFERROR(INDEX(Продажи!C6,MATCH(ДЗ!RC1,Продажи!C3,0)),"""")"
    dz.Range(Cells(8, 17), Cells(n, 17)).Copy
    dz.Range(Cells(8, 17), Cells(n, 17)).PasteSpecial xlPasteValues

z = Application.WorksheetFunction.CountA(pay.Columns(2)) + 50

pay.Range(Cells(7, 17), Cells(z, 17)).FormulaR1C1 = "=IFERROR(INDEX(Месяц_период,MATCH(RC[1],Месяц_период,0)),R[-1]C)"
    pay.Range(Cells(8, 17), Cells(z, 17)).Copy
    pay.Range(Cells(8, 17), Cells(z, 17)).PasteSpecial xlPasteValues
    
Application.ScreenUpdating = True
Application.DisplayAlerts = True
    
End Sub
При выполнении выдает ошибку на этой строчке, и других строках, аналогичных этой:
sales.Range(Cells(8, 1), Cells(i, 1)).FormulaR1C1 = "=IFERROR(INDEX(Оплаты!C1,MATCH(Продажи!RC3,Оплаты!C3,0)),"""")"




Буду очень благодарен, если еще подскажете как обойти вот эту ерунду (подстановку результатов вычисления формулы в ячейку):
 
sales.Range(Cells(8, 1), Cells(i, 1)).Copy
   sales.Range(Cells(8, 1), Cells(i, 1)).PasteSpecial xlPasteValues

Насколько я понимаю можно использовать .Value
Но с синтаксисом туплю((( Никак не могу понять как правильно использовать

Заранее спасибо за помощь и внимание!
Вложенные циклы - Do While ... Loop или From to, Запуск цикла в рамках цикла
 
Цитата
kuklp написал:
ColNumStart = 4
'    i = i + 1
Сработало!
Спасибо огромное...

Осталось самому допетрить что да как...
Вложенные циклы - Do While ... Loop или From to, Запуск цикла в рамках цикла
 
файл
Вложенные циклы - Do While ... Loop или From to, Запуск цикла в рамках цикла
 
Файл больше 100 кб. Подчищу и выложу.
PS правда сильно стыдно за свой нубо код(((
Вложенные циклы - Do While ... Loop или From to, Запуск цикла в рамках цикла
 
Доброго дня!

Есть таблица с переменным числом строк (от 10 до 60) и столбцов (от 6 до 120).
Необходимо под ней по критерию проссуммировать значения по всей длине таблицы. Высота таблицы должна соответствовать количеству критериев.
Пример таблицы (картинку не смог приклеить почему то).

Попробовал следующие варианты. Ни один не отрабатывает((( Точнее отрабатывает только по вертикали.

Логику закладывал следующую:
Цикл перебором заполняет горизонталь, по достижении максимального значения горизонтали переходит к новому значению вертикали, далее горизонталь и т.д.
Код
   
        ' определяем общее число строк со значениями на исходной странице
        Dim rown As Integer
            Sheets("Продажи").Activate
            rown = Application.WorksheetFunction.CountA(Range("A:A")) + 1        
        
        'Первый столбец массива - фиксированный
        Dim ColNumStart As Integer
            ColNumStart = 4
        'Последний столбец массива - подсчитывает число введенных столбцов с данными
        Dim ColNumFinish As Integer
            ColNumFinish = Sheets("Intermed").Range("A3").End(xlToRight).Column
        ' указывает первую строку для подстановки формул
        Dim RowNumStart As Integer
            RowNumStart = rown + 3
        ' указывает последнюю строку для подстановки формул
        Dim RowNumFinish As Integer
            RowNumFinish = rown + 16
            
Do While RowNumStart <= RowNumFinish
    Do While ColNumStart <= ColNumFinish
        Cells(RowNumStart, ColNumStart) = WorksheetFunction.SumIfs(Range(Cells(3, ColNumStart), Cells(rown, ColNumStart)), _
        Range(Cells(3, 3), Cells(rown, 3)), Cells(RowNumStart, 1))
        ColNumStart = ColNumStart + 1
    Loop
    RowNumStart = RowNumStart + 1
Loop
Этот цикл заполняет только горизонталь и завершается(((
Попробовал второй вариант, добавив дополнительную переменную - та же хрень...

Код
            
        ' указывает последнюю строку для подстановки формул
        Dim RowNumFinish As Integer
            RowNumFinish = rown + 16
        Dim i As Integer


For i = RowNumStart To RowNumFinish
    Do While ColNumStart <= ColNumFinish
        Cells(i, ColNumStart) = WorksheetFunction.SumIfs(Range(Cells(3, ColNumStart), Cells(rown, ColNumStart)), _
        Range(Cells(3, 3), Cells(rown, 3)), Cells(i, 1))
        ColNumStart = ColNumStart + 1
    Loop
    i = i + 1
Next i
    
Понимаю, что в какой то мелочи что то упустил. Но не могу понять где и что... Буду очень благодарен за помощь

PS Ответ искал долго и нудно, но наверное ограниченность моих знаний в VBA не позволяет найти выход из моего тупика(((

[img]file:///C:/Users/BPN/Pictures/loop.png[/img]
Продолжение работы формы при ошибке и фокусировке на листбоксе
 
Апострофф, было чуток)))

вот такой работает
Код
Private Sub CheckNum_Click()
If Me.TypeList.Text = "" Then
    MsgBox "Укажите тип"
    TypeList.SetFocus
End If

If Me.TypeList <> "" Then
    Dim iType As Integer
    Dim iMatch As Integer
    iType = Application.WorksheetFunction.CountIf(Sheets("ÐåöÌàø").Range("A:A"), TypeList.Value)
    iMatch = Application.WorksheetFunction.Match(TypeList.Value, Sheets("ÐåöÌàø").Range("A:A"))
    MsgBox iType & "*" & iMatch
End If

End Sub
Изменено: Павел - 15.04.2016 14:38:39
Продолжение работы формы при ошибке и фокусировке на листбоксе
 
Апострофф, Спасибо за помощь!

Эммм... что то я сам ступил... Сказывается то, что с VBA начал осваивать недавно и все еще слишком редко использую(((

Код
Private Sub CheckNum_Click()
If Me.TypeList.Text = "" Then
    MsgBox "Укажите тип"
    TypeList.SetFocus
If Me.TypeList <> "" Then
    Dim iType As Integer
    Dim iMatch As Integer
    iType = Application.WorksheetFunction.CountIf(Range("A:A"), TypeList.Value)
    iMatch = Application.WorksheetFunction.Match(TypeList.Value, Range("A:A"))
    MsgBox iType & "*" & iMatch
End If
End If

Изменено: Павел - 15.04.2016 14:24:00
Продолжение работы формы при ошибке и фокусировке на листбоксе
 
День добрый!

Возникла проблема, не могу понять даже под каким соусом искать в инете.

Есть Listbox в Userform в котором пользователи должны выбирать определенное значение. После выбора значения в выпадающем списке, пользователь может посмотреть сколько вхождений данного типа есть в столбике (базе) и в какой строке первое вхождение данного типа. Проблема когда пользователь нажимает на кнопку проверки не выбрав значение в списке. Тогда выскакивает ошибка и работа формы останавливается.
Хотел сделать защиту от этого... Что то не получается(((
Код
Private Sub CheckNum_Click()
    
    If Me.TypeList.Text = "" Then
' Если в списке ничего не выбрано (пусто)
        MsgBox "Введите тип"
' Появляется сообщение. После нажатия на ОК курсор перемещается в окно выпадающего списка. 
    Exit Sub        
    End If

    TypeList.Focus

    Dim iType As Integer
    Dim iMatch As Integer
        iType = Application.WorksheetFunction.CountIf(Range("A:A"), TypeList.Value)
        iMatch = Application.WorksheetFunction.Match(TypeList.Value, Range("A:A"))
    
    MsgBox iType & "*" & iMatch

End Sub
Если в выпадающем списке выбрано значение - все работает. Если не выбрано - сообщение "Введите тип" появляется, но после нажатия на ОК выскакивает сообщение об ошибке
"Compile Error: Method or data member not found"

Если убираю TypeList.Focus - все работает, только курсор не возвращается в выпадающий список
Изменено: Павел - 15.04.2016 13:26:08
Поиск текущей даты в строчном массиве
 
Огромное спасибо! Работает... Пошел читать - что такое Clng CDbl

Про СЕГОДНЯ даже не подумал))) Шарики за ролики к концу дня завалились... Причем с функциями то я нормально... а с VBA пока сииильно плаваю)))
Поиск текущей даты в строчном массиве
 
Доброго времени суток!

Уже битый час не могу понять в чем проблема.
В строку заданы даты
21.12.201522.12.201523.12.201524.12.201525.12.201526.12.201527.12.2015
Формат ячеек дата.
Требуется найти порядковый номер столбика, в котором дата совпадает с текущей.
Думал с помощью MATCH решить свою проблему... Но почему то никак... Возвращает ошибку  Run-time error '13': Type Mismatch и стопорится именно на строке MATCH.
Явно какая то мелочь...

Заранее спасибо за помощь!
Код
Sub try1()

Dim curD As Date
curD = Range("a1").Value

'В А1 стоит формула =ДАТАЗНАЧ(ТЕКСТ(ТДАТА();"ДД.ММ.ГГГГ")). 
'Единственный вариант, когда сравнение дает "Истина". 
'Может ошибаюсь, но меня устраивает пока.

Dim colN As Long
colN = Application.Match(curD, Range(Cells(7, 1), Cells(7, 400)), 0)

Cells(1, 2) = colN

End Sub
Изменено: Павел - 21.12.2015 23:03:44
Обратная совместимость VBA по версиям офиса, Почему макрос написанный под 2013 не работает под 2007-2010
 
Насчет грамотности я и спорить не буду) ибо практически не писал, а тупо записывал макросы, потом чистил их от шлака.
Написано от силы строк 20 в том числе с Вашей помощью, Дмитрий). Но на них то как раз и нет проблем...

По ходу один выход - пересматривать код (почти 15 страниц) на машинах с 2007-2010 и подгонять под них...  
Обратная совместимость VBA по версиям офиса, Почему макрос написанный под 2013 не работает под 2007-2010
 
Столкнулся с очередной проблемой.

Дописал скрипт/макрос. Делал в Excel 2013 х64. Версия VBA 7.1.1049
При тестовом запуске на машинах с Excel 2013 х64 - нет проблем. Все работает как часы.

При запуске на машинах с более ранними версиями (в офисе стоят версии 2007 и 2010 х32, верcия VBA 6.5.1055) выскакивает множество ошибок (ошибка на установлении связи с принтером, в одном случае удаление всех нужных строк, в другом случае НЕ удаление ненужных строк).
Проблема в том, что у нас весь софт лицензионный и обновлять на 50+ машинах офис с 2010 до 2013 как бы мягко говоря накладно.

Возможно есть какие то пути решения такой проблемы? (Поиски дистрибутива либо путей обновления до версии 7.1.1049 не дали результатов).  
Выбор следующей пустой строки и вставка данных в нее, ошибка в коде
 
Спасибо JayBhagavan за Ваше время. Вместе с ответом с дружественного сайта у меня начало складываться понимание того, что и как надо делать дальше.
Огромное спасибо!

Ответ с дружественного сайта: http://www.excel-vba.ru/forum/index.php?topic=4136.msg22431#msg22431

"Ну вот смотрите. Как только Вы открыли файл - буфер очистился. Сделайте так:
Код
Sub Пример()
    Dim wsAct As Worksheet
    Set wsAct = ActiveSheet
    
    Workbooks.Open Filename:="c:\" & Range("a3").Value & ".xlsx"
    ActiveSheet.Unprotect Password:="1111"
    Dim emptyRow As Long
    emptyRow = WorksheetFunction.CountA(Range("B:B")) + 1
    
    wsAct.Rows("10:18").Copy
    Cells(emptyRow, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Cells(emptyRow, 1).PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Cells(emptyRow, 1).PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End Sub
Выбор следующей пустой строки и вставка данных в нее, ошибка в коде
 
Цитата
Юрий М написал:
Тогда ИНФОРМИРУЙТЕ (давайте ссылки), что разместили вопрос ещё где-то
Замечание принял к сведению. Исправился
Выбор следующей пустой строки и вставка данных в нее, ошибка в коде
 
С Вашего разрешения позвольте все таки продолжить тему.

Выскакивает ошибка
https://cloud.mail.ru/public/DhWs/K4YvzoPEJ
https://cloud.mail.ru/public/6Q7x/EyruLfjfw
Почему возникла ошибка понятно - не могу понять как ее решить.
Выбор следующей пустой строки и вставка данных в нее, ошибка в коде
 
Если вы про это http://www.excel-vba.ru/forum/index.php?topic=4136.msg22428#msg22428 то я и не скрываю.

Я никоим образом не собирался обесценивать усилия ни одного из тех, кто ответит. Мне необходимо решение проблемы и к сожалению сроки очень меня поджимают. Помимо того, используя разные варианты я сам учусь и надеюсь в будущем смогу помогать таким же неумекам как я сейчас. По объективным обстоятельствам время реакции на сообщение и ответ на разных форумах разное. При нахождении ответа на одном из форумов - я бы отписался на втором.
Изменено: BPN1973 - 29.10.2015 10:58:41
Выбор следующей пустой строки и вставка данных в нее, ошибка в коде
 
JayBhagavan,  СПАСИБО! Буду пробовать. По результатам отпишусь.

Понаглею еще...
в завершение макроса надо еще восстановить защиту листа и закрыть
Насколько я понимаю
после строки
Application.CutCopyMode = False
добавить строки
oash.Protect Password:="1111"
awb.Close
Выбор следующей пустой строки и вставка данных в нее, ошибка в коде
 
Сделал файлы с примерами... Выдает ту же ошибку.. Такое впечатление, что снятие защиты с листа обнуляет буфер обмена
Страницы: 1 2 След.
Наверх