Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Монстрикс — это динамичная стратегия, где ты собираешь, улучшаешь и сражаешься с могучими монстрами.

Монстрикс

Мидкорные, Стратегии, Мультиплеер

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • Animalrescueed Animalrescueed 36 постов
  • Oskanov Oskanov 7 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
Вопрос из ленты «Эксперты»
ShukaShabaka
7 месяцев назад
Лига программистов

VBA+Outlook⁠⁠


Не понимаю!!!

Есть функция, которая забирает данные о почте, папке в ней, даты создания писем и темы, по маске которых будет производится поиск и удаление определенных писем в Outlook (перемещение в папку Удаленные). Ну и булик на предмет есть ли чек по дате или просматривать всю папку полностью.

Проблема в том, что функция работает но не корректно: письма удаляются, но как то выборочно. Чтобы удалились все указанные письма приходится запускать макрос 3-4 раза.

Я не очень дружу со связкой VBA-Outlook, функция собиралась по гуглу на коленке, долго и упорно, ошибку не вижу. Прикол скорее всего со стороны самого Outlook. Единственное, что я подозревал - почта не успевает за макросом, но установка паузы между удалениями ни к чему хорошему не привела (кажется даже стало хуже).

Ниже скрин функции, хз получится ли что то разглядеть.
Так же файл с макросами на Яндекс.Диске https://disk.yandex.ru/i/kbO6PhX2ah83gw (ключевые вводные, ессно, изменены, почта например)

VBA+Outlook Ошибка, Vba, Microsoft Excel, Outlook, Помощь, Вопрос, Спроси Пикабу
[моё] Ошибка Vba Microsoft Excel Outlook Помощь Вопрос Спроси Пикабу
7
3
nikuzzz
nikuzzz
1 год назад
Лига помощи Excel

Помощь в VBA⁠⁠

Помогите решить задачу, спецы.

Дано: N-ое количество таблиц "калькуляторов" со сводными данными. Все таблицы одинаковы по своей структуре (положения ячеек и подписи), лежат в одной папке вместе.

Требуется: в новой ексель таблице собрать все сводные данные из других. Есть функция консолидации, но это получается костыль неудобный, все равно нужно ручками показать ему, что и откуда брать...

Вопрос: можно ли сделать пустую шаблонную таблицу с каким то макросом, который будет сам указывать данные для консолидации при запуске.

Я вижу это так: я беру шаблон, закидываю в папку с таблицами, открываю, запускаю макрос, он берет пути и имена к таблицам из папки в которой лежит и дает эти данные для консолидации.

Готов оплатить реализацию, если она возможна.

П.С.: может есть другие методы?

Microsoft Excel Vba Помощь Текст
26
28
Golevden
Golevden
3 года назад
MS, Libreoffice & Google docs

Помогите пожалуйста с формулой в VBA для Excel⁠⁠

О великий коллективный разум нашего Улья-Пикабу испрошаю твоей помощи и взываю к твоей мудрости. Помоги объединить следующие три функции в одну. Нужно чтобы  в строке после заглавных букв русских и английских, а также после любой цифры вставал  пробел. Нашёл три рабочих кода, но как их объединить в один не знаю - далёк я от этого. Вот функции:

Пробелы после цифр

Public Function separateNumbers(ByVal inText As String) As String

Static FReg As Object

If FReg Is Nothing Then

Set FReg = CreateObject("VBScript.RegExp")

FReg.Pattern = "([^ \d](?=\d)|\d(?=[^ \d]))"

FReg.Global = True

End If

separateNumbers = FReg.Replace(inText, "$1 ")

End Function


Пробелы после русских заглавных букв

Function InsSpaceRU(rng As Range) As String

Dim s As String, i As Integer, x, y

Set x = CreateObject("VBScript.RegExp"): x.Pattern = "[А-Я]": x.Global = True

s = rng.Value: Set y = x.Execute(s)

For i = 0 To y.Count - 1: s = Replace(s, y.Item(i), " " & y.Item(i)): Next

InsSpace = Application.Trim(s)

End Function


Пробелы после английских букв

Function InsSpaceENG(rng As Range) As String

Dim s As String, i As Integer, x, y

Set x = CreateObject("VBScript.RegExp"): x.Pattern = "[А-Z]": x.Global = True

s = rng.Value: Set y = x.Execute(s)

For i = 0 To y.Count - 1: s = Replace(s, y.Item(i), " " & y.Item(i)): Next

InsSpace = Application.Trim(s)

End Function


Большое спасибо!

Показать полностью
Vba Microsoft Excel Код Текст Помощь
12
20
K0T0FEICH
K0T0FEICH
4 года назад
MS, Libreoffice & Google docs

Нужна помощь в написании VBA⁠⁠

Не обессудьте. Я в Exel не силен.

При попытке написания макроса в VBA формула "Если" или "iif" ведет себя немного неясно.

По факту нужно, что бы макрос копировал вывод одной формулы и вставлял ее текстовое значение в первую пустую ячейку "календаря"

В формуле изложено, что если первая ячейка будет меньше 0 (т.е. пустая), то он вставит скопированное число в эту ячейку, если нет, то пойдет на следующую и так дальше и дальше. На деле он просто вставляет в самую последнюю переменную (на данный момент 3 ячейку таблицы (не видел смысла больше делать, раз пока не работает) и все, что не пытался написать во всех 3 ячейках и изменить параметр переменной - он все время идет в конец.

Раньше никогда проблем не было с формулами в самом екселе, но с макросами еще мало знаком. Формула приведена пониже:

Нужна помощь в написании VBA Microsoft Excel, Помощь, Vba

"

Sub Копирование()

Range("I5").Select

Selection.Copy

Formula = IIf("B3" < "0", Range("B3").Select, IIf("C3" < "0", Range("C3").Select, IIf("D3" < "0", Range("D3").Select, "0")))

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

End Sub

"

Нужна помощь в написании VBA Microsoft Excel, Помощь, Vba
Показать полностью 1
[моё] Microsoft Excel Помощь Vba
10
MancoCapac
4 года назад
MS, Libreoffice & Google docs

Прошу помощи с VBA Excel. Бэн, это Данила, ай нид хелп!⁠⁠

Приветствую зашедшего!
Нужна помощь в написании макроса в VBA Excel для выполнения следующей задачи.
Есть Лист1, в котором заполнены 3 столбца. В столбце1 отображаются нули или единицы. Нужно, чтобы при выполнении макроса, значения из столбца3 напротив единиц копировались в первую пустую ячейку столбца1 на Листе2. То есть, чтобы на выходе я получил в столбце1 Листа2 перечень без пропущенных ячеек всех значений столбца3 Листа1, напротив которых в столбце1 Листа1 стоят единицы.
Понимаю, что заслуживаю быть посланным т.к задача по службе. Денег мне за решение не заплатят, но жизнь себе облегчу сильно.
Работа с IT никак не связана, потому в VBA практически ноль, хотя немного разбираюсь в Excel.
Наверняка, это тривиальная задача и знатоки поржут над нубом. Могу сказать, что смех продлевает жизнь, а автоматизация и взаимопомощь ее облегчают.
Буду благодарен за любую помощь, в т.ч. за ссылки на похожие примеры т.к. из-за низкого уровня знаний, возможно, я даже поисковый запрос формулирую неправильно и из-за этого не нахожу искомое.
Ходил на форумы, но что-то мне подсказывает, что ответов я там не дождусь т.к. из-за простоты задачи, статьям и топикам на эти темы уже по 10 лет и авторы и помнить о них уже забыли.
Прошу не топить, а для минусов оставлю сразу 4 комментария.
Заранее спасибо!

Прошу помощи с VBA Excel. Бэн, это Данила, ай нид хелп! Vba, Microsoft Excel, Помощь, Работа
Показать полностью 1
[моё] Vba Microsoft Excel Помощь Работа
42
1
Helbrandrey
4 года назад

Помогите с решением Exel⁠⁠

Всем Доброго дня!

Требуется знаток EXEL

Есть 30книг(30отдельных файлов эксель) назовём их допустим "101", "102",---"130". у всех файлов(книг) диапазон заполнения ячеек один и тотже 10 строк и 3столбца(строки B2-B10 и столбцы B2-D2).

Первое что нужно: Как скопировать области заполнения со всех 30 файлов в один новый файл(новую книгу) назовём: "ИТОГ", чтобы они шли друг за другом. К примеру:

В строках B2-B10 и столбцах B2-D2 информация из файла "101",

В строках B12-B20 и столбцах B2-D2 информация из файла "102" ну и так далее...

Далее нужно в файле(книги)"Итог" создать новый лист(под названием "ПЕЧАТЬ"). А теперь самое сложное на мой взгляд: Нужно как то прописать формулу которая автоматически добавляла одни и теже данные. К примеру: из файла(книги)101-5шт. из файла(книги)102-14шт. и чтобы они шли друг за другом.

Сразу же извиняюсь если что то не корректно описал.

Помогите с решением Exel Microsoft Excel, Vba, Длиннопост, Помощь
Помогите с решением Exel Microsoft Excel, Vba, Длиннопост, Помощь
Показать полностью 2
[моё] Microsoft Excel Vba Длиннопост Помощь
24
23
AlXVas
5 лет назад
MS, Libreoffice & Google docs

Excel/VBA. Автоматическое проставление даты по условию⁠⁠

Добрый день.
Проблема вроде не сильно сложная, но моих познаний немного не хватает для доведения кода до ума.  Буду очень благодарен, если кто поможет.
Есть таблица ввода данных, которая обозначена желтым на снимке. В строке может быть заполнена одна, несколько наугад или все ячейки. 
При первичном вводе данных в любую ячейку строки автоматически выводится время ввода и фамилия "создавшего позицию". Дата и имя заносятся в голубые(?) поля и остаются неизменными.
При внесении изменений в строку желтой зоны или при добавлении данных заполняется оранжевая зона, где дата и имя меняются постоянно и остаются сведения о последнем изменившем позицию. Если занудствовать, то получается что человек вроде как только вводит несколько данных и "создает" позицию, а его уже записывают в изменившие, но это не сильно принципиально, потому что по дате понятно будет что это за действие было. Но если можно сделать так, чтобы оранжевое поле заполнялось только после следующего открытия файла например, было бы вообще чудесно.

Excel/VBA. Автоматическое проставление даты по условию Microsoft Excel, Vba, Помощь

На форумах нашел код, который примерно соответствует запросам, но не могу окончательно его адаптировать.
По коду получается, что берем значение из первого столбца. А как использовать именованный диапазон(!) в данном случае я не очень понимаю. Именно именованный диапазон нужен потому что в рабочем файле таких таблиц с дюжину примерно в разных участках листа.
Вторая проблема - если вводить значения в разные столбцы, то и дата/имя будут каждый раз отскакивать в разные столбцы, потому что "offset" фиксированный от измененной ячейки. Вроде можно вместо смещения задать диапазон, но тоже возникли проблемы с адаптацией.

Excel/VBA. Автоматическое проставление даты по условию Microsoft Excel, Vba, Помощь

Надеюсь не очень сумбурно и суть вопроса ясна. Заранее благодарю

Показать полностью 2
Microsoft Excel Vba Помощь
18
158
yabalak
5 лет назад
MS, Libreoffice & Google docs

Ответ на пост «Помощь с Word-ом»⁠⁠1

Как-то раз я психанул и составил процедуру, удаляющую все подсветки символов, абзацев, ячеек таблицы и всего этого внутри ячеек таблицы. Особенно полезно это для текста и и таблиц, скопированных из интернета.

Итак, поместите код в стандартный модуль. Выделите скопированный из инета текст или таблицу, затем запустите процедуру defill

Sub defill()

'

' Удаляет подсветку букв, текста, абзаца, ячеек, таблиц

' А теперь ещё и ставит чёрный цвет текста

StartUndoRecord "Удаление фона"

On Error Resume Next

If Selection.Type = wdSelectionIP Then

If MsgBox("Эта функция убирает цветной фон выделенного фрагмента. Сейчас ничего не выделено. Обработать весь текст?", vbYesNo + vbQuestion, "Ничего не выделено") = vbYes Then

DefillRange ActiveDocument.Content

End If

Else

DefillRange Selection.Range

End If

On Error GoTo 0

StopUndoRecord

End Sub

Sub DefillRange(rng As Range)

Dim aTable As Table

rng.Font.Color = wdColorAutomatic

With rng.ParagraphFormat

With .Shading

.Texture = wdTextureNone

.ForegroundPatternColor = wdColorAutomatic

.BackgroundPatternColor = wdColorAutomatic

End With

End With

With rng.Font.Shading

.Texture = wdTextureNone

.ForegroundPatternColor = wdColorAutomatic

.BackgroundPatternColor = wdColorAutomatic

End With

rng.HighlightColorIndex = wdNoHighlight

For Each aTable In rng.Tables

With aTable.Shading

.Texture = wdTextureNone

.ForegroundPatternColor = wdColorAutomatic

.BackgroundPatternColor = wdColorAutomatic

End With

With aTable.Range.Cells.Shading

.Texture = wdTextureNone

.ForegroundPatternColor = wdColorAutomatic

.BackgroundPatternColor = wdColorAutomatic

End With

Next aTable

End Sub

Public Sub StartUndoRecord(Optional UR_name$ = "Какой-то макрос")

#If VBA7 Then

' для ВБА 7 (офис 2010) и выше

Application.UndoRecord.StartCustomRecord UR_name

#End If

End Sub

Public Sub StopUndoRecord()

#If VBA7 Then

Application.UndoRecord.EndCustomRecord

#End If

End Sub


Немножко спагетти-код, потому что главную процедуру я составил в 2011 году, для ворда 2003.

Назначьте на кнопку панели инструментов макрос defill.

Всем удачи в форматировании документов!

Показать полностью
[моё] Microsoft Word Помощь Vba Макрос Таблица Ответ на пост Текст
12
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии