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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 34 След.
Выгрузка писем из Яндекс.Почты в 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/
С уважением,
Федор/Все_просто
Валидация ИНН, БИК, и Р\С
 
Код
Option Explicit

Function checkINN(what)
    Dim doc As MSHTML.HTMLDocument
    With New MSXML2.XMLHTTP60
        .Open "POST", "https://www.egrul.ru/test_inn.html", False
        .setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
        .setRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36"
        .send "inn=" & what & "&go=%D0%9F%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%B8%D1%82%D1%8C&action=check"
        Set doc = New MSHTML.HTMLDocument
        doc.body.innerHTML = .responseText
        checkINN = doc.getElementsByClassName("message")(0).getElementsByTagName("b")(0).innerText
    End With
End Function
Sub main()
    Dim r
    r = "123456"
    Debug.Print insertText("ИНН №{1} {2}", r, checkINN(r))
    r = "3664069397"
    Debug.Print insertText("ИНН №{1} {2}", r, checkINN(r))
End Sub

Function insertText(ParamArray arr())
    Dim i&
    Dim inp
    inp = arr(LBound(arr))
    If LBound(arr) = UBound(arr) Then insertText = inp: Exit Function
    For i = LBound(arr) + 1 To UBound(arr)
        inp = Replace(inp, "{" & i & "}", arr(i))
    Next
    insertText = inp
End Function
Изменено: Все_просто - 15 Июн 2018 12:31:32
С уважением,
Федор/Все_просто
VBA. Многомерные массивы
 
В VBA нет особого смысла говорить о многомерных массивах (больше 2 измерений). В своей практике я максимум использовал массивы из 2 измерений. 3 и больше - никогда не встречал. Тем более, что с интерпретируемым языком (за редким исключением) анализ многомерных массивов не построишь.

О многомерных массивах в практичных целях говорят, когда они используются в рамках DL для разных непростых компьютерных задач: распознавание голоса, компьютерное зрение, видео. Математики такие массивы называют тензорами, а 1-мерный массив (вектор) - это есть не что иное, как частный случай тензора с измерением 1.
С уважением,
Федор/Все_просто
Как показать дату последней сделки клиента?
 
Я бы использовал формулу массива с функциями "ЕСЛИ" и "МАКС", если вас правильно понял.
После предоставления примера с хотя бы фиктивными данными, можем и помочь.
С уважением,
Федор/Все_просто
Дубли, удалить дубли в ячейке и так во всех ячейках столбца+удалить неявные дубли на всех вкладках документа
 
Решение: использовать эксель.
1. Делаете разбивку через разделитель пробел.
2. Делаете сортировку разделенных слов.
3. Сцепляете отсортированное.
4. Удаляете дубли через "данные → удалить дубликаты".
Чтобы уменьшить первоначальную размерность предлагаю воспользоваться 4 шагом в виде шага 0.
Без примера никак более помочь не смогу.
С уважением,
Федор/Все_просто
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 34 След.
Наверх