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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 35 След.
Количество файлов в папке с указанным расширением.
 
Можно без лишних объектов:
Код
Sub testDirFunction()
    Dim counter
    Dim fn
    
    ChDir Environ("homepath") & Application.PathSeparator & _
        "Downloads"
        
    fn = Dir("*.xlsx")
    counter = 0
    
    While Len(fn) > 0
    
    counter = counter + 1
    fn = Dir()
    Wend
    MsgBox "Total count: " & counter
End Sub
С уважением,
Федор/Все_просто
VBA Power Pivot изменить путь к источникам
 
Зачем пользоваться костылем соединения в PP?

Я столкнулся с похожей проблемой и тоже хотел идти через PP, но в итоге решил ее через удаление старого подключения и добавления такого же нового в PQ. Проблема read-only в таком случае нас совсем не волнует.
Если нужно решить конкретно read-only проблему, то нужно понимать, что работать в окне power pivot (менять типы данных, делать какие-то трансформации) нельзя. Что-то похожее на ниже сделано у меня.
Код
    With ThisWorkbook
        On Error Resume Next
     
            .Connections("название вашей связи").Delete
            .Queries("название вашего запроса").Delete '''не обязательно, но для спокойствия души
            
        On Error GoTo 0
        
        .Queries.Add Name:="название вашей связи", Formula:= "ваша query формула"   
        .Connections.Add2 "добавляете реквизиты отталкиваясь от запроса строкой выше"
    End With

Если используете связи, то потом делаем вот это:
Код
Sub addToDataModel(m As Excel.Model, fkTable, fkColumn, pkTable, pkColumn)
    Dim pkTbl As ModelTable
    Dim fkTbl As ModelTable
    Dim fkCol As ModelTableColumn
    Dim pkCol As ModelTableColumn

    DoEvents
    
    Set pkTbl = m.ModelTables(pkTable)
    Set fkTbl = m.ModelTables(fkTable)
    Set fkCol = fkTbl.ModelTableColumns(fkColumn)
    Set pkCol = pkTbl.ModelTableColumns(pkColumn)
    
    m.ModelRelationships.Add _
        ForeignKeyColumn:=fkCol, _
        PrimaryKeyColumn:=pkCol
    Application.StatusBar = False
End Sub

Sub addQueryToDataModel()
   Dim md As Model

   Set md = ThisWorkbook.Model
   addToDataModel md, "Таблица1 "Ключ1", _
                        "Таблица2", "Ключ2"
''' Далее повторяем для всех связей с другими названиями (это понятно)
   addToDataModel md, "Таблица1 "Ключ1", _
                        "Таблица2", "Ключ2"
End sub

Есть еще один способ. Связан с удалением всех связей в модели данных. В таком случае (если не было трансформаций и манипуляций в power pivot) формулу в запросе можно менять.
Изменено: Все_просто - 8 Авг 2019 14:43:53
С уважением,
Федор/Все_просто
Как автоматически извлекать из тела новых писем информацию в Google Excel Online Spreadsheet, Учимся как автоматизировать процесс получения и импортирования информации с почты в таблицу
 
Почитайте для начала вот эту тему: https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=62889
С уважением,
Федор/Все_просто
Как автоматически извлекать из тела новых писем информацию в Google Excel Online Spreadsheet, Учимся как автоматизировать процесс получения и импортирования информации с почты в таблицу
 
Я такое делал не раз.
По опыту скажу, что сделать это из аутлука очень сложно (но можно). Легче использовать api гугла: https://developers.google.com/sheets/api/ и какой нибудь скриптовый язык (например, python). Не смотрел, но у меня такое ощущение, что можно написать js-скрипт и в самом google sheets.
С уважением,
Федор/Все_просто
Выгрузка писем из Яндекс.Почты в Excel или Google Docs
 
В работе.
С уважением,
Федор/Все_просто
Выгрузка писем из Яндекс.Почты в Excel или Google Docs
 
Это можно сделать в Outlook с помощью VBA. Никаких проблем быть не может - все довольно тривиально.
Если это не устраивает, то можно считывать почту минуя outlook, но это гораздо сложнее, и я не уверен, что все будет лучше.

В последнем варианте все можно сделать и с помощью VBA, и с помощью других языков. Я, например, выполнил очень похожую задачу на Python, прицепившись к API Google Sheets. Если нужны подробности, пишите на почту и только, если Doober не станет делать.
С уважением,
Федор/Все_просто
Как вставить скопированные данные по условию в 1 из N кол-ва книг VBA, Скопировать строку в книгу в зависимости от значения первой ячейки строки
 
По макросу:
1. Если нужна скорость, то подобные вещи
Код
Workbooks(book_name & ".xlsx").Sheets(1)

тоже стоит исключить. По возможности объявляйте дополнительную переменную листа, и ее используйте вместо полного названия, либо используйте хотя бы конструкцию with, что делает код более читабельным (имхо) и несколько ускоряет макрос.
2. Форматирование лучше вынести из цикла (autofit). Зачем каждый раз проделывать идентичную операцию, когда можно ее выполнить один раз за пределами циклов.
3. С циклами всегда работайте осторожно. Старайтесь убирать вложенность, где это только возможно. Если все таки вложенность нужна, старайтесь использовать конструкции vba: массивы, коллекции, словари и т.д. Они достаточно быстрые.
4. Ну и напоследок: если решили начать оптимизацию скорости через обновление экрана (screenupdating), то старайтесь
  • включать ручные вычисления (calculation);
  • использовать конструкции языка типа словари, коллекции, массивы и т.д.;
  • убирать любого рода выделения и активации (где это возможно) через методы select и activate;
  • уходить от новых переменных типа variant (для самодисциплины также используйте option explicit в самом начале модуля ВСЕГДА);
  • использовать двоеточие для объединения нескольких связанных строк в одну
С уважением,
Федор/Все_просто
Заливка части фигуры по условию из ячейки
 
Вот так. Дальше сами придумаете. Если нужны подробности, опишу.
С уважением,
Федор/Все_просто
Выделение строки цветом по условию
 
С помощью условного форматирования. Другого способа, отвечающего вашим требованиям, не назову.
С уважением,
Федор/Все_просто
Добавить в существующие формулы слагаемое
 
Есть еще проще вариант, без создания допстрок
1. Переключитесь на стиль R1C1.
2. Сделайте замену, например "=" на "=RC[-1]+".
С уважением,
Федор/Все_просто
Сбор данных в таблицу из массива данных в соответствии с датой
 
Суммпроизв в деле. Посмотрите пример и размножьте на остальные ячейки.
С уважением,
Федор/Все_просто
Отзывы о работодателях и исполнителях, Посмотрите, прежде чем взять/предложить работу
 
Юрий М, спасибо за поддержку.
С Андреем мы работали долго, но потом наши пути разошлись. Возможно, он бы мог мне написать, но этого не сделал. Я никогда не брал плату через авансы, только по факту проверки заказчиком и подтверждения того, что все хорошо работает. Андрей это, надеюсь, сможет подтвердить. Я всегда предупреждаю, что макросы имеют свойство ломаться, особенно такие, которые требуют парсинга динамических страниц. Если алгоритм выдачи меняется, никакой мастер вам не поможет. Со своей стороны готов рассмотреть возвращение потраченной суммы, если моя вина будет доказана.
Мне очень жаль, что так получилось.
Изменено: Все_просто - 21 Окт 2018 13:54:13
С уважением,
Федор/Все_просто
Получить HTML страницы
 
Дайте больше подробностей.
В текущем описании, это достаточно тривиальная задача, нужно всего лишь сделать GET запрос к указанной ссылке - а это не больше 4 строк кода.
С уважением,
Федор/Все_просто
Формирование API REST запроса и его отправка из Excel
 
Достаточно популярная тема, чтобы она еще оставалась не отвеченной (если не в рунете, то хотя бы в глобальной сети).
Посмотрите вот это: https://github.com/VBA-tools/VBA-Web.
Вот это для сериализации: https://github.com/VBA-tools/VBA-JSON.
Последним пользуюсь достаточно интенсивно, чтобы доверять. Коллекция здесь используется как альтернатива листу ([item1, item2]), а словарь - словарю ({'key':'value'}).
Изменено: Все_просто - 26 Июл 2018 17:54:45
С уважением,
Федор/Все_просто
[ Закрыто] Есть ли такой Макрос?
 
Можно воспользоваться прошлым ответом и вставить ВПР по дате. Проблемы особой нет.
С уважением,
Федор/Все_просто
курсы по VBA
 
Полностью согласен с Jack Famous по поводу принципов обучения программированию. Пришел чуть раньше и тоже с вопросами. Постепенно учился, узнавал новые вещи. Вначале был убежденным "формулистом", но со временем стал "кодером". Дальше стал брать заказы, чтобы выйти из зоны комфорта. Заказы обычно сложнее обычных вопросов, но чаще они и интереснее, и полезнее. Если кодить на регулярной основе, накапливается так называемая "мышечная память" на основные приемы. Со временем писать просто код становится не интересно, так как кажется, что все просто. Именно в такие моменты нужно сильно фокусироваться на чем-то сложном/нетирвиальным, например придумать хобби/побочный проект на основной работе и начинать все автоматизировать. Выходите в интернет, ищите ответы на вопросы не только в рунете, но и в глобальной сети.

В свое время мне очень помог курс на youtube от wiseowl. Там правда на английском, но куда уж без этого. Далее я стал читать книги, много книг (десятки). По опыту скажу, что практических вещей я научился больше у Bill'a Jelen'a. Не пойму, почему Уокенбаха все так хвалят. Да хорошая книжка/серия книг у него, но много воды и ненужных рассуждений. Мне понравились книги от Richard'a Mansfield'a по автоматизации всей офисной линейки. По языку нет ничего лучше всего, что написано товарищем Rob Bovey и его соавторами. Эффект погружения - пожалуй, максимальный.

Самое главное - никогда не останавливаться на достигнутом, учите новые языковые парадигмы. Учитесь новому: PowerBI/DAX/M, SQL, GAS/JS, Julia, Python, R, Go. Это неполный список того, к чему я прикоснулся за последнее время и что начинаю использовать/уже интенсивно использую в своей работе/жизни. И еще совет: если у вас нет опыта серьезного программирования (писал на Паскале/VB/C в школе не в счет), то как бы себя курсы не рекламировали ("Стань экспертом за 21 день!", "Стань программистом здесь и сейчас!"), вы таковым не станете. Это длительный и трудоемкий процесс.
С уважением,
Федор/Все_просто
Ошибка: application-defined or object-defined error
 
Не читать далее. Ситуация поменялась...
Скрытый текст
Изменено: Все_просто - 11 Июл 2018 11:48:59
С уважением,
Федор/Все_просто
работа с файлами на VBA: Закрытие txt.
 
RAN, какая разница?
У человека был вопрос.  Я же поискал, нашел и отписал. Дальше, кажется, ему решать.
Изменено: Все_просто - 8 Июл 2018 08:57:31
С уважением,
Федор/Все_просто
работа с файлами на VBA: Закрытие txt.
 
Поискал в интернетеи протестировал. Мне помогло.
Код
Public Sub Close_Notepad_ByName(NtpPath As String)

Dim oServ As Object
Dim cProc As Object
Dim oProc As Object
Dim strProcessName
strProcessName = "Notepad.exe"
Set oServ = GetObject("winmgmts:")
Set cProc = oServ.ExecQuery("select * from win32_process")
For Each oProc In cProc
    If InStr(1, oProc.Name, strProcessName, vbTextCompare) <> 0 Then ' check if Notepad
        If InStr(1, oProc.commandLine, NtpPath, vbTextCompare) <> 0 Then ' check Path
        oProc.Terminate
        End If
    End If
Next
Set oServ = Nothing
Set cProc = Nothing
End Sub
Sub test()

Dim StrPath As String
StrPath = "C:\Users\Fedor\Desktop\wx.txt"
Call Close_Notepad_ByName(StrPath)
End Sub
С уважением,
Федор/Все_просто
Как кодом удалить углы у фигуры., Что то не докумекаю, рекордер не помогает, нужен человеческий глаз.
 
Выбираете вначале фигуру для изменения и изменяете вот так например:
Код
    Selection.ShapeRange.AutoShapeType = msoShapeRoundedRectangle
    Selection.ShapeRange.Adjustments.Item(1) = 0 ' с прямыми углами
    Selection.ShapeRange.Adjustments.Item(1) = 0.275 ' а так с округленными углами

Записано макрорекордером.
С уважением,
Федор/Все_просто
График (мост), необходима инструкция
 
Заинтриговали. Отправьте и мне.
С уважением,
Федор/Все_просто
Кольцевая диаграмма с итогом по центру
 
Шаг 1 и Шаг 2. Посмотрите.
С уважением,
Федор/Все_просто
Кольцевая диаграмма с итогом по центру
 
Вместо автора:  "Кольцевая диаграмма с итогом по центру".
А вот и решение. Сделал комбинированную диаграмму, где внешняя часть - пончиковая, а внутренняя - пирожковая.

OFF
Скрытый текст
Изменено: Все_просто - 23 Июн 2018 22:36:30
С уважением,
Федор/Все_просто
Записать в Excel систему уравнений
 
Что-то похожее должно получиться:
Код
=ЕСЛИ(И(x=b;a>b);formula1;ЕСЛИ(x>b;formula2;formula3))

где
формула1=
Код
=КОРЕНЬ(ABS(a*a-b*b))+EXP(2*b)

формула2=
Код
=(2*a*x*x+b*SIN(x))/(2+5*x)

формула3=
Код
=(3*a*a*x-b*x*x)/(a*a+x)

a, b, x - именованные диапазоны
С уважением,
Федор/Все_просто
графики производства работ, создание графиков строительства с датами начала и окончания работ
 
Это формула массива. После внесения изменений нужно нажать Ctrl+Shift+Enter.
С уважением,
Федор/Все_просто
Recordset не видит базу данных
 
Может вот это стоит поменять:
Код
.LockType = adLockReadOnly
С уважением,
Федор/Все_просто
Office 2019
 
Есть еще мнение (например, довольно авторитетное на dailydoseofexcel), что
2013 несколько тормознутый/медленный, с чем нельзя не согласиться. Но, как ни печально, но все мы в итоге будем переходить на 2016+ версии, ибо поддержка заканчивается (у 2010 версии - в конце 2020 расширенная), а компании продолжат переходить на новейшие системы. Увы!

Лично я снес все прошлые версии и окончательно закрепился в 2013-ом именно из-за мгновенного анализа.
В 2013 мне еще нравится, что можно одной левой:
* удалять строки (альт-я-ч-с);
* ставить фильтр (альт-ы-ф);
* удалять дубликаты (альт-ы-у-таб-таб-энтер) - это только энтер правой рукой нажимать;
* делать сортировку по убыванию (альт-ы-с);
* вставлять сводную (альт-с-а-в, в 2010 можно было альт-с-в-в);
* использовать анализ что-если (альт-ы-ё-п / альт-ы-ё-т);
* ну и наконец быстрое заполнение (ктрл+у).
Правая рука все это время находится на нумпаде, где есть энтер, +/- (с которых можно начинать формулы), а также pageup/pagedown, home/end, →↓↑←, которые все можно нажимать через шифт.

В будущем несмотря на оговоренные удобства перейду на английскую версию одной из систем: 2016, 2019 либо 365. По первым впечатлениям, некоторые вещи делать легче (меньше кнопок нужно нажимать) на английских версиях. А так, поживем - увидим.
С уважением,
Федор/Все_просто
Отследить отклонения от нормативных значений
 
С помощью Условного Форматирования.
С уважением,
Федор/Все_просто
Валидация ИНН, БИК, и Р\С
 
Hugo, спасибо за напоминание о необходимости подключения библиотек.
Наверное, стоило через позднее связывание предоставить код.
С уважением,
Федор/Все_просто
Протянуть ячейки вниз только на пустые ячейки.
 
Посмотрите в приемах:
https://www.planetaexcel.ru/techniques/2/96/
С уважением,
Федор/Все_просто
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 35 След.
Наверх