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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 366 След.
Статус бар с количеством заполненных и пустых ячеек
 
Цитата
БМВ написал:
главное чтоб затраты на статус бар и его индикацию суммарно не превысили затраты на основное действие
и опять: и да и нет. Бывали у меня случаи, когда заказчику было не важно выполнится код за 5 секунд или за минуту - главное, чтобы красиво показать сам факт того, что что-то делается  :D  
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Как скопировать отфильтрованные ячейки и вставить их потом?
 
Цитата
ДЭНЧИК147 написал:
Как можно вставить их все разом?
я так понимаю речь про копирование несвязанных диапазонов и вставку в такие же? Попробуйте это: Как вставить скопированные ячейки только в видимые/отфильтрованные ячейки
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Статус бар с количеством заполненных и пустых ячеек
 
Цитата
DaePae написал:
как мне кажется,  в моем макросе немного другой подход к количеству циклов
ну и да и как бы и нет. Ваш цикл:
Код
For Each MyCell In MyRange 'Шаг 4: Какое-либо действие с каждой ячейкой
    
Next MyCell
теперь подпихиваем:
Код
Dim lr as long, lAllCnt as long
lAllCnt = MyRange.Cells.Count
lr = 0
For Each MyCell In MyRange 'Шаг 4: Какое-либо действие с каждой ячейкой
    lr = lr +1
    '.... какие-то действия с ячейкой
    'вывод статус-бара
Next MyCell
но как отмечено ранее - Ваш код нуждается не в визуализации, а в оптимизации. И в общем-то все советы даны. Написал этот пост лишь для того, чтобы наглядно показать как в таких случаях использовать подсчет ячеек для статус-бара.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Сохранение визуального отображения формата как значения
 
Видимое значение ячейки в реальное
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Найти различия в данных двух книг
 
Как бы надстройка Вам и пишет, что строки со 2-ой по 19 и с 21 по 29-ю различаются...Они аж красным отмечены и написано, что типа удалены(видимо, по заголовкам строк считает различие).
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Извлечение встроенных фото
 
Как сохранить картинки из листа Excel в картинки JPG
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Найти различия в данных двух книг
 
Цитата
Hugo написал: Это всё возможно сделать как обычно с помощью ВПР()
Игорь, вот здесь я лично не уверен. Если бы был пример этих таблиц - можно было бы что-то с уверенностью сказать. А без них только гадать. Может подойдет ВПР, может СУММЕСЛИМН, может...Да много что может :)
Изменено: Дмитрий(The_Prist) Щербаков - 24 Мар 2020 22:28:13
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Найти различия в данных двух книг
 
Встроенных средств подобных сравнений нет точно. Если не брать вариант сравнения ячеек в лоб: =[Книга1]Лист1!A1=[Книга2]Лист1!A1
Надо писать отдельную программу, но для этого надо знать все нюансы и вряд ли кто захочет делать это бесплатно...Но все бывает, вдруг кто из чистого интереса возьмется?
Изменено: Дмитрий(The_Prist) Щербаков - 24 Мар 2020 11:54:07
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Заливка фигур цветом условного форматирования формулой
 
Нет такой возможности. Теоретически, наверное можно макрос какой-то написать, но тут проблема в том, что неизвестны заранее условия, по которым должно меняться форматирование. А событие изменения заливки ячейки никак нельзя отследить даже кодами.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Как кодом определить диапазон чистой страницы
 
Думаю рыть в сторону "установить диапазон печати с запасом":
Код
ActiveSheet.PageSetup.PrintArea = "A1:AA500"
а потом определять границы страниц.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Как при помощи цикла найти нужное значение?, Научите пользоваться циклом
 
Цитата
Timur написал:
Для чего на этом участке кода объявлять переменные?
Это более грамотный подход к написанию кодов и лучше всегда объявлять. Ознакомьтесь на досуге: Variable not defined или что такое Option Explicit и зачем оно нужно?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Сбор данных с разных книг и раставление в определенном порядке
 
Цитата
Arkabro23 написал:
Лазал по форуму не нашел
как лазали и что нашли? Что не подошло? Ибо таких кодов по форуму не меньше десятка в разных вариациях. Следовательно, либо очень плохо искали, либо все, что нашли не подошло. И тогда надо знать чем именно.
Ну и без примера исходных файлов и желаемого результата тоже вряд ли получится помочь(сам не претендую, ибо задача тривиальная и лично мне не интересна). Кому-то возможно будет интересно из своих соображений предложить решение.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Как внедрить панель (вкладку) с кнопками в офисах 2010-2019
 
1. Не появляется вообще ничего? Если на файле надстройки щелкнуть правой кнопкой мыши -Свойства. Не будет ли там активна кнопка Разблокировать? Или галочка.
2. Файл -Параметры -группа Общие -Показывать ошибки интерфейса пользователя надстроек. Установить галочку. Запустить надстройку и посмотреть - не будет ли ошибок интерфейса(возможно, используете недопустимые идентификаторы в схеме).
Ну а оптимально уже подсказали - приложите файл или хотя бы схему XML, т.к. я уже надстроек таких насоздавал кучу и все работает. Использую как правило вкладку для 2007, чтобы была совместимость.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Картинка вставляется с привязкой к файлу картинки
 
Цитата
Radomir-m написал:
По-тупому, но работает
и то скорее всего потому, что есть строка On Error Resume Next в самом начале кода.
По идее код должен бы выдать ошибку, т.к. идет присвоение и выделение объекта одновременно(set ph = ...Select)
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Картинка вставляется с привязкой к файлу картинки
 
1. На форуме коды принято оформлять соответствующим тегом(кнопочка <...>). Читать их в таком виде не очень удобно.
2. В коде нет принципиального использования именно типа Picture, поэтому можно эти строки:
Код
Dim ph As Picture: Set ph = PicRange.Parent.Pictures.Insert(PicPath)
заменить на такие:
Код
Dim ph As Shape: Set ph = PicRange.Parent.Shapes.AddPicture(PicPath,msoFalse)
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Картинка вставляется с привязкой к файлу картинки
 
Тогда приведите код полностью. Ибо совсем неясно зачем использовать недокументированный метод вместо документированного AddPicture, в котором есть возможность вставить БЕЗ ссылки
Код
Set ph = PicRange.Parent.Shapes.AddPicture(PicPath,msoFalse)
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Картинка вставляется с привязкой к файлу картинки
 
А это точно в Excel?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Импорт данных из CSV (Googlt контакты)
 
Цитата
Radomir-m написал:
как ручками это сделать
вкладка Данные - Получить данные -Устаревшие мастеры -Из текста.
Если Excel не один из новых - то просто вкладка Данные -Из текста
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Импорт курса валют через XML
 
Код
=SUBSTITUTE(IMPORTXML("https://api.privatbank.ua/p24api/exchange_rates?date="&text(today();"DD.MM.YYYY"); "//exchangerates/exchangerate[@currency='GBP']/@saleRate");".";",")*1

P.S. Я так думаю что надо в заголовке темы указывать, что вопрос по Google таблицам. Это форум по Excel и это не одно и тоже, что Google таблицы. И Вы не первый день на форуме.
Изменено: Дмитрий(The_Prist) Щербаков - 20 Мар 2020 17:11:48
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Копирование данных из закрытого исходного файла Excel в открытый файл-приемник Excel с переменными параметрами «Имя файла», «Имя листа» исходного файла
 
А почему именно гиперссылка? Может что отсюда подойдет: Как получить данные из закрытой книги?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Как во все листы вставить в определенную ячейку название каждого соответствующего листа?
 
Arthur26,
=COUNT('GetShName()'!B7:D7) - так b не заработает. Как Вы бы вставляли обычную функцию? Здесь проблема не в том, что функция на VBA, а в неверном использовании в принципе. Наверное, надо помнить и про амперсанд и про то, что GetShName() возвращает текстовое представление имени листа, а не ссылку на лист. Поэтому надо использовать ДВССЫЛ(INDIRECT):
Код
=COUNT(INDIRECT("'" & GetShName() & "'!B7:D7")
P.S. Считается плохим тоном писать в личку, если я вдруг не ответил в ожидаемые Вами сроки в Вашей теме. Буду свободен и будет желание - отвечу без лишних напоминаний в личке. Это на будущее.
Изменено: Дмитрий(The_Prist) Щербаков - 20 Мар 2020 13:58:06 (скобочка в конце пропала)
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Как во все листы вставить в определенную ячейку название каждого соответствующего листа?
 
Ну тут вопрос: почему именно именованный нужен? Где потом используется? Ибо выше верно тогда написали - достаточно просто изменить любую ячейку и имя пересчитается. Проблема в том, что при каждом пересчете правильное имя листа Вы в любом случае получите исключительно для активного листа. Для остальных листов(не активных) Ваше имя вернет имя листа активного. Как ни крути. И если на это имя завязаны расчеты и на других листах - то расчеты могут оказаться неверными.
Проверьте: запишите в листы 1 и 2 свою именованную формулу =zzz. На листе 1 увидите "Sheet1". Перейдите на лист 2 - там тоже будет "Sheet1". Пересчитайте формулы любым способом. На Листе 2 увидите "Sheet2". Но перейдя на лист 1 там тоже будет "Sheet2"...Пока не пересчитаете.
Поэтому лучше все же применить UDF GetShName из ссылки, что я привел выше. Только добавить там первой строкой Application.Volatile True, чтобы функция при каждом чихе пересчитывалась. Или ТДАТА добавьте при создании именованной формулы. В имя zzz можно будет запихнуть уже её: =GetShName()
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Как во все листы вставить в определенную ячейку название каждого соответствующего листа?
 
Все приведенные формулы ЯЧЕЙКА неправильные. Для получения в ячейку каждого листа именно его имени надо добавить ссылку на ячейку на этом листе. Иначе функция будет возвращать имя АКТИВНОГО листа. Описывал все это здесь: Как получить имя листа формулой
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Макрос не может найти библиотеку Microsoft Word Object Library
 
Как из Excel обратиться к другому приложению
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Данные из одного столбца в одну ячейку, через разделитель
 
Несколько вариантов UDF: Сцепить много ячеек с указанным разделителем
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Подсчёт A2:A[X] где [X] - формула
 
Код
=COUNTIF(INDEX(A:A;1):INDEX(A:A;COUNT(C:C));"*")
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Сохранение листа отдельным файлом, Сохранение листа новым файлом без макросов
 
Цитата
aybek04 написал:
Application.DisplayAlerts = False
вот это уберите для начала. Вдруг там чего важное показывают, а Вы не в курсе.
И правильнее сохранять так:
Код
ActiveSheet.Copy
ActiveWorkbook.SaveAs "C:\Users\Bimkod_4\Desktop\мой проект\мой проект 5\Отгрузки\" & [A2] & ".xlsx" _
        , FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
Application.Quit
а именно указывать полный путь сохранения непосредственно в нужной функции, хоть макрорекордер и пишет иначе.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
При объеденении двух макросов выдает ошибку
 
Вы посмотрите по теме какие коды Вы приводите и просите объединить и какие в последнем сообщении. Опять малюсенькую часть макроса не заметили и "не работает"? И не будет, пока порядок не наведете хотя бы перед созданием тем.
Лично мне уже надоело с таким Вашим подходом соединять какие-то нелепо брошенные на форум куски в единое целое. Ждите, может у кого проявится интерес.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Как сохранить файл с названием из ячейки
 
Цитата
dmitryrabota написал:
макрос сохранял в ту папку, в которой он начал изначально этот файл обрабатывал
см. мой коммент выше: нет понятия такого в макросах. Они могут что-то в изначальной папке обрабатывать, если Вы показали им на эту папку. А т.к. Вы этого не делали - то надо хотя бы прояснить: за основу брать активную книгу или книгу с кодом?
Цитата
dmitryrabota написал:
и лист у меня всегда один, его выбирать не нужно.
ну да. У Вас всегда один. Он единственный в книге? Или один, из которого информацию брать надо? Вы как-то процесс опишите более детально иначе решение получите, но работать будет не совсем как задумали.
Ну и для примера код выше я уже привел. Осталось "скользкие" моменты утрясти :)
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
При объеденении двух макросов выдает ошибку
 
Я лично не очень понимаю какие манипуляции и где здесь должны производиться, поэтому тупо объединил два кода(с небольшими изменениями в виде избавления от всяких Select), как и просили:
Код
Option Explicit  
Const cDelta = 2000
  
Sub RazdeLit()
 
 
    Dim iY1 As Long
    Dim iY2 As Long
    Dim i As Byte
    Dim sh1 As Worksheet
    Dim s As String
    Set sh1 = ActiveWorkbook.ActiveSheet
      
    'переносим ячейки листа, с которого был запуск в новую книгу
    Workbooks.Add
    sh1.Cells.Copy Range("A1")
    Columns("C:C").Replace What:="LookAt:=xlPart", Replacement:="", LookAt:=xlPart _
        , SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    Columns("K:K").ClearContents
      
    i = 0
      
    For iY1 = 1 To Cells(Rows.Count, 2).End(xlUp).Row Step cDelta
        i = i + 1
        Workbooks.Add
        With sh1: .Range(.Cells(iY1, 1), .Cells(iY1 + cDelta - 1, Columns.Count)).Copy Cells(1): End With
        Rows(1).Insert shift:=xlDown
          
        s = "C:\Users\RRR\Desktop\prices" & Replace(ThisWorkbook.Name, ".xls", "-" & Right("0" & CStr(i), 2) & ".xls")
          
        ActiveWorkbook.SaveAs Filename:=s, FileFormat:= _
        xlExcel8, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False
        ActiveWorkbook.Close
    Next
 
End Sub
что там в итоге будет работать и как я не знаю
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 366 След.
Наверх