Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 След.
Проблема с совместимостью 2003 и 2016, Некорректно отображаются символы веденные в другой программе.
 
Цитата
БМВ написал:
Если конечно формулах не использованы где не попадя работы с целыми столбцами и если в 2007 и выше это миллион строк, то независимо от типа файла в 2003 это мноооого меньше.
Стараюсь такого не допускать. От всего не застраховаться, бывают и казусы, но в большинстве случаев форматируются только диапазоны, включая копирования формул. Разве что в макросах указываю сразу столбец, например, в сортировке. Но форматирования много. И стилей, и защиты листов, и много чего другого, как написал sokol92.
Проблема с совместимостью 2003 и 2016, Некорректно отображаются символы веденные в другой программе.
 
sokol92, БМВ, согласен с вами обоими. Надо было переходить давно на новую версию. 2007 полгода тестировал как раз после выхода и не понравился. Тогда еще у всех XP стояли. Перешел обратно на 2003 и вздохнул с облегчением. Чего менять, если все и так работает замечательно. Поэтому только сейчас разродился... Кстати, 2003 работает с одними и теми же файлами, даже сохраненными в 2016, в 2-3 раза шустрее. У меня 2016 на своем компе и 2003 на офисных, с которыми работаю удаленно. Так что есть, с чем сравнивать. Но функционал, разумеется лучше в 2016, правда еще годик привыкать придется.
Проблема с совместимостью 2003 и 2016, Некорректно отображаются символы веденные в другой программе.
 
ivanok_v2, к сожалению, я не программист.
БМВ, я не могу назначить конкретный символ фигурой по умолчанию, т.к. их используется пара десятков.
Это я в примере все упростил до безобразия. Или я чего-то не понял?

Кстати, попробовал в 2016 использовать тупо этот злочастный Colibri для подбора его символов. Видны в обеих версиях, но так же, как и в примере sokol92, символы по разному выравниваются по вертикали.
Изменено: KSR - 19 сен 2018 13:59:47
Проблема с совместимостью 2003 и 2016, Некорректно отображаются символы веденные в другой программе.
 
ivanok_v2, Вы предлагаете переделать сотню файлов и поменять там шрифт на Marlett, который все равно в 2016 игнорируется? :)
Еще раз повторюсь. Мне нужно было:
1. В 2016 видеть символ на кнопке, созданной в 2003, чтобы не переделывать срочно кучу старых, но рабочих файлов.
2. В 2003 видеть символ на кнопке или автофигуре, созданной в 2016 (с этой задачей частично помог sokol92).
3. (Глюк, обнаруженный после сообщения sokol92) -Для создания кнопок макросов в будущем из созданной в 2016 автофигуры убрать автоматически создаваемый и неубиваемый в ней шрифт "Calibri (Основной текст)". Прошу прощения за "тройную" тавтологию... В моем 2016 и Marlett тоже сразу меняется на Calibri. Писал выше. Что значит "Основной текст" тоже не догнал.  Не в ячейках - там все корректно, а в автофигурах.
Видимо, где-то что-то надо изменить в настройках. Но я ни в 2007, ни в последующих версиях никогда не работал, поэтому и прошу помощи.
Проблема с совместимостью 2003 и 2016, Некорректно отображаются символы веденные в другой программе.
 
sokol92, спасибо!
После сохранения Вашего файла в 2003 происходит возврат к буквам. Как я понимаю, это проблема 2016. Пытаюсь в автофигуре поменять шрифт, а он  опять переключается на Calibri (Основной текст). Не понимаю... По-умолчанию в настройках стоит Arial. Excel с лицензионного диска.
Кто-нибудь знает, как убрать этот глюк со шрифтом Calibri ?
Проблема с совместимостью 2003 и 2016, Некорректно отображаются символы веденные в другой программе.
 
Всем доброй ночи!
Очень признателен всем за попытки найти решение проблемы. Найти другие пути  и подходы, конечно, можно. Разумеется, можно, уговорить бухгалтерии нескольких фирм перейти на 2016. У большинства все-таки стоят 2007, 2010, 2013. Нашими кнопками макросов они не пользуются. Просто каракули выглядят не эстетично. А вот для своих сотрудников исправлять сотню различных файлов и отчетов - убирать символы и вместо них вставить всякие скобки, дроби т.д. - уже хлопотно. В тестовом файле кнопки я сделал побольше, а реально они маленькие, поэтому и используется символ. Вариантов много. Но это не понимание причины и, тем более, не решение проблемы. Быстрее всего решить проблему как раз наоборот - вернуться в 2003... Хотя как раз от этого и уходим.
ivanok_v2, как только разберусь с 2016, начну переводить на него другие компы офиса.
sokol92, про кривой шрифт не понял. Автофигуры не копировал, а делал с нуля. Внутри ничего не прописывал, просто вставил символ.
Цитата
sokol92 написал:
Я взял на себя смелость исправить (в Excel 2016 ru), теперь Excel 2003 должен это воспринять.
А как сделать так, чтобы 2016 воспринимал старые файлы? Для меня это более актуально.
Проблема с совместимостью 2003 и 2016, Некорректно отображаются символы веденные в другой программе.
 
Поставил себе Excel 2016 и начали появляться проблемы с файлами, созданными в 2003. Основная их часть решается, но не всё.
Например, символы на кнопках для макросов, введенные в 2003, отображаются в 2016 как буквы и наоборот.
Учитывая, что файлы сохранять надо в формате XLS и их достаточно много, в том числе отчеты и сверки, отправляемые партнерам, у многих из которых стоит 2003, прошу помочь разобраться с проблемой.
Образец файла прилагаю.
Заранее благодарен.
Обновление диапазона данными из другой книги
 
Получилось :)
Спасибо!!!
Изменено: KSR - 19 июл 2018 16:10:50
Обновление диапазона данными из другой книги
 
Цитата
Kuzmich написал:
Открываемая книга (Книга1) становится активной, а в коде активной была Книга 2
Похоже на то. Но тогда получается непонятка: если делаю активной Книгу1, то не срабатывает код словаря. Если делаю активной Книгу2, то не открывается Книга1.
Может поставить
Код
Workbooks.Open Filename:="Полный путь\Книга1.xls", UpdateLinks:=False, ReadOnly:=True
Set Kniga1_List1 = Workbooks("Книга1.xls").Worksheets("Лист1")
перед
Код
With Kniga1_List1
?
Изменено: KSR - 19 июл 2018 15:59:07
Обновление диапазона данными из другой книги
 
Цитата
Kuzmich написал:
Если вы знаете полный путь к файлу Книга1, то и открывайте сразу
Спасибо! Так я и открывал сразу. И закрывал в конце (сообщение с кодом #7).
Цитата
KSR написал:
При простом копировании диапазонов всегда просто добавляю открытие и закрытие книги. Но в этом коде Книга исправно открывается и закрывается, а код не срабатывает. Данные не вставляются.
Поменял на Ваш код (он немного другой) - та же ситуация. Книга открывается и закрывается, но вставки данных нет.
Полный путь до файла известен. Это файл базы данных и он никогда не перемещается.
Изменено: KSR - 19 июл 2018 15:37:03
Обновление диапазона данными из другой книги
 
Как я понимаю, через диалог Книга1 автоматом не открывается. Получается, что быстрее все-таки делать своим способом - созданием вспомогательного листа, но с использованием Вашего кода, разумеется.
Большущее спасибо, Kuzmich!
Обновление диапазона данными из другой книги
 
Kuzmich, еще раз спасибо!
Cells(iLastRow, 1).PasteSpecial xlPasteValues пробовал, но не переносил на другую строку. Теперь работает.
Включение и выключение обновления экрана использую в реальном коде. Тут упрощенный.
А вот куда вставить диалог выбора файла, не врубаюсь, к сожалению.
Обновление диапазона данными из другой книги
 
Цитата
Kuzmich написал:
есть слово в словаре, то очищаем из Книги2 всю строку (A:IV)
Должно быть наоборот:
Цитата
KSR написал:
если в книге 1 отсутствует какое-то значение С из книги 2, то вся эта строка (A:IV) в книге 2 очищается
Это тоже исправил сам.
Остались проблемы: работа с закрытой книгой и вставка только значений.
Изменено: KSR - 19 июл 2018 09:39:59
Обновление диапазона данными из другой книги
 
Цитата
KSR написал:
При открытой строчки с указанными фрагментами не очищаются
Эту проблему исправил благодаря подробным комментариям.
Обновление диапазона данными из другой книги
 
Kuzmich, большое спасибо! Особенно за подробные комментарии.
При закрытой Книге1 макрос не срабатывает, ругается на строчку 8. При открытой строчки с указанными фрагментами не очищаются, а наоборот, - удаляются из Книги2 все строки со значениями, которые есть в Книге1. Вставляются, как и в прошлый раз не только значения, но и форматы,
Правой рукой через левое ухо я, с Вашим первым кодом еще 3 дня назад задачу решил: открыл вспомогательный Лист2 (разумеется, все книги и листы имеют у меня другие имена), копирую туда значения (точнее постоянно обновляю диапазон) из закрытой Книги1 в том формате, который мне нужен,  а потом Вашим кодом переношу отсутствующие строки на Лист1, удаляю оттуда ненужные строки и кое-что изменяю известными мне кодами. Но и макрос работает не так быстро, как хотелось бы, да и лист дополнительный, хоть и скрытый... Короче, своим способом я недоволен. Но без Вашего первого кода я и его бы не сделал.

vikttur, не смогли бы Вы мне дать ссылку, которую имеете ввиду? Попробую почитать эту ветку, наверняка найду полезное.
Обновление диапазона данными из другой книги
 
Прошу прощения, но просьба все-таки помочь. Не получается разобраться со всем.
1. Можно ли использовать этот код с закрытой Книгой1?
При простом копировании диапазонов всегда просто добавляю открытие и закрытие книги. Но в этом коде Книга исправно открывается и закрывается, а код не срабатывает. Данные не вставляются.
Код
Sub test()
Dim dicObj As Object
Dim i&, iLastRow&
Dim Kniga1_List1 As Worksheet

Set Kniga1_List1 = Workbooks.Open("Книга1.xls").Worksheets("Лист1")  'Open добавлено мной
Set dicObj = CreateObject("scripting.dictionary")
dicObj.comparemode = 1
With Sheets("Лист1")
For i = 5 To .Cells(.Rows.Count, "C").End(xlUp).Row
dicObj.Item(.Cells(i, "C").Value) = 0
Next i
End With
With Kniga1_List1
For i = 4 To .Cells(.Rows.Count, "C").End(xlUp).Row
If Not dicObj.exists(.Cells(i, "C").Value) Then 'если нет слова, то добавляем его в словарь
dicObj.Item(.Cells(i, "C").Value) = 0
iLastRow = Cells(Rows.Count, 1).End(xlUp).Row + 1
.Range("A" & i & ":C" & i).Copy Cells(iLastRow, 1)
End If
Next i
End With
Workbooks("Книга1.xls").Close False 'добавлено мной
End Sub
2. Как вставлять только значения без форматов? Мои махинации с PasteSpecial успехом не увенчались.

3. Очищение строк с ненужными словами работает без проблем, но что делать, если искать не слово целиком, а фрагмент?
Код
Sub ClearStr()
Dim lngI As Long

    ClearWord = "ааа, ббб, ввв"
    
For lngI = Cells(Rows.Count, 3).End(xlUp).Row To 5 Step -1 
     If InStr(ClearWord, Cells(lngI, 3)) > 0 Then Rows(lngI).ClearContents
Next lngI
End Sub

Заранее благодарен за любые ответы.
Обновление диапазона данными из другой книги
 
Kuzmich, большое спасибо!
Первая часть - добавление строчек, которых нет, работает. Это самое главное. С остальным попробую помучиться сам.
Обновление диапазона данными из другой книги
 
Цитата
Андрей VG написал:
Если вы способны оценить легкость задачи, то почему не решаете её сами?
А почему Вы решили, что это форум исключительно для профи и нельзя задавать вопросы обычным пользователям?
Я честно пишу, что не знаю, как решить. Кто-то тоже честно не знает и не отвечает. У кого-то просто нет времени, если это для него "мелочь". Кто-то знает, но считает, выше своего достоинства помогать кому-то. И тоже молчит. А кто-то не знает, но либо тратит время на оправдания, либо обвиняет во всем просящего помочь... Просьба до этого не опускаться.
Оценить сложность не могу, но варианта всего два: либо задача сложная и решить можно только за плату - тогда проблем нет: я не жмот и готов заплатить, Такое в другом разделе уже было и претензий ко мне не было. Либо задача простая, но тогда нормальные профи могли бы обидеться, если бы я сразу разместил задачу в соответствующей ветке. Так сложная или простая?
В любом случае спасибо даже за такой ответ.
Изменено: KSR - 16 июл 2018 01:12:38
Обновление диапазона данными из другой книги
 
Уточнение: Excel 2003.
Неужели даже частичного решения нет?  Хотя бы без исключений. Поиском вроде все перерыл на форуме. Более сложные темы есть, но именно этого не нашел.
Я понимаю, что для профи это слишком просто и не интересно, но я только пользователь. Помогите, пожалуйста.
Жаль ikki нет... По таким мелочам я форум не засорял, обращался к нему..
Обновление диапазона данными из другой книги
 
Большая просьба помочь с написанием макроса.
Есть постоянно обновляемый диапазон (A4:C1003) в книге 1 и аналогичный диапазон (A5:C1004) в книге 2. Треть строк диапазонов пока пустые. Количество строк можно и не ограничивать, если это не повлияет на время работы макроса.
Столбец С содержит уникальные (неповторяющиеся) текстовые значения.
В книге 2 нужен макрос, который сравнивает столбцы С и если в книге 1 появилось новое значение, дописывает значения А:С в первую пустую строку (по столбцу С) книги 2, а если в книге 1 отсутствует какое-то значение С из книги 2, то вся эта строка (A:IV) в книге 2 очищается.
Если в проверяемой ячейке книги 1 содержится фрагмент "ааа", "ббб" или "ввв", то эта строка в книгу 2 не дописывается.
Если в проверяемой ячейке книги 2 содержится фрагмент "ггг", "ддд" или "еее", то эта строка в книге 2 не очищается.

Очищение всего диапазона в книге 2 и копирование его из книги 1 не подходит, так как в книге 2 есть другие значения в строке, которые относятся к уникальному значению С.
Файлы прилагаются. Для удобства выделил желтым значения, отсутствующие в другой книге и розовым исключения.
Заранее благодарен за любую помощь.
Почему файл так много "весит"?
 
_Boroda_,
Отдельное Вам спасибо за макрос!
Не знаю, почему, но и в исходном файле было 1,5 тысячи объектов вместо 200.
Уменьшил его размер аж в 4 раза.. Потратил пару часов - не знал, как удалять ненужные объекты и пришлось удалять все, а потом вручную ставить объекты заново и назначать им заново макросы. Но результатом доволен.  
Почему файл так много "весит"?
 
Цитата
vikttur написал: Ctrl+G-Выделить-Объекты-Удалить
Большое спасибо! Не заметил Вашего сообщения, пока выгружал файл на Яндекс.Диск.
Сейчас буду разбираться с исходным файлом.
И всем, всем, всем тоже спасибо за помощь!!!
Почему файл так много "весит"?
 
_Boroda_,
Проверил. Всё пусто.
Почему файл так много "весит"?
 
Тут https://yadi.sk/i/OY-vNBxa3XvtRG
Почему файл так много "весит"?
 
Я не очищал данные. Я удалял столбцы и строки. Ползунки не маленькие - почти на всю высоту и ширину страницы.
Почему файл так много "весит"?
 
Просьба помочь разобраться в причине громадного веса файла.
Исходный рабочий файл с кучей макросов весил 3,9 Мб. При уменьшении таблицы в 5 раз (включая удаление кучи лишних макросов) вес уменьшился всего на 400 Кб.
Решил найти причину. Начал потихоньку удалять разные части таблицы и разные макросы, чтобы понять, что так много "весит".
Но даже при удалении ВСЕХ данных и оставлении одного пустого листа вес файла изменился мало - 3,3 Мб.
Видимо остались какие-то "хвосты", так как вновь созданный аналогичный файл весит весит 13 Кб.
Помогите, пожалуйста, найти эти "хвосты" (т.е. подскажите, где надо искать) или объясните причину.
К сожалению, прикрепить файл к сообщению не могу. Ограничение 100 Кб. Могу отправить этот файл на E-mail.
Все ячейки пустые и имеют размер по умолчанию, условного форматирования нет. Макросов нет - даже модули удалил.
Заранее благодарен за любую помощь.
Как оптимизировать макрос для фильтрации строчек по датам?
 
Kuzmich, большое спасибо!
Как оптимизировать макрос для фильтрации строчек по датам?
 
Казанский, если не трудно, просьба объяснить, почему в строчке 7 кода начало выделяемого диапазона начинается на строчку выше, чем диапазон данных.
Код
7|  Range("B2:B65536").AdvancedFilter
Просто я ищу свои возможные ошибки при введении этого макроса в рабочую таблицу - она у меня большая (в примере, разумеется, приведен минимальный вариант) и обработка фильтром производится не совсем корректно. Если выбираю месяц после "все", то фильтруется быстро, а если после уже выбранного месяца выбираю другой - тормозит. Причем, если выбираю во втором случае "янв", то Excel вообще зависает.

P.S. К сожалению, автофильтр не подошел к моим задачам. Обнаружились еще недостатки. Вернулся к вспомогательному столбцу. Все равно большое спасибо за помощь!  Вопрос выше не удалил, т.к. интересен на будущее.
Изменено: KSR - 7 янв 2018 07:24:05
Как оптимизировать макрос для фильтрации строчек по датам?
 
Казанский, Огромное Спасибо!
Пока не понял кода, но все работает замечательно. Буду разбираться.
Как оптимизировать макрос для фильтрации строчек по датам?
 
Доброго времени суток!
В приложенном файле (Excel 2003) макросом производится отбор строк с датами месяца, выбранного в ячейке B1. Так же производится суммирование значений по выбранному месяцу (ячейка С1). Но для корректной работы макроса я вынужден был создать вспомогательную колонку F. Просьба помочь изменить макрос, чтобы он работал без этой колонки.
Страницы: 1 2 След.
Наверх