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

Испытайте новый игровой опыт в захватывающей игре “Нарисуй Удар” прямо сейчас!

Нарисуй Удар

Драки, На ловкость, Для мальчиков

Играть

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

  • Rahlkan Rahlkan 1 пост
  • Tannhauser9 Tannhauser9 4 поста
  • alex.carrier alex.carrier 5 постов
Посмотреть весь топ

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

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

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

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

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

Игра в клеточки на Excel⁠⁠

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

Получилось забавно, итак:
1 игрок высчитывает при каком ходе он получит больше всего очков "прямо сейчас" и выбирает самый прибыльный цвет
2 игрок целенаправленно идет захватывать центр (приоритет на шаг вверх при прочих равных)
3 игрок на каждом ходу высчитывает кто из других игроков больше всего преуспел и идет его окружать
4 игрок ранее брал случайные цвета и всегда был зажат вторым, поэтому в этот раз его программа просто идти максимально испортить жизнь второму игроку

пример кода 4 игрока как самого примитивного:
rr = поле 'размер игрового поля
cc = 1
maxx = 999
For ii = 1 To t 'все соседние клетки
tt = Abs(f(ii, 1) - rr) + Abs(f(ii, 2) - cc) 'в f() занесен заранее список допустимых (ii) ходов, 1 - это х, а 2 - это у, эта строка считает минимальное расстояние до старта ближайшего игрока (название переменной с прошлой тактики осталось)
If tt <= maxx Then
maxx = tt
maxs = ii
End If
Next ii
новцвет = Cells(f(maxs, 1), f(maxs, 2)).Interior.Color

...далее {новцвет} передается чтобы сделать ход

Понятно что у 4 самая примитивная тактика, если у кого есть настроение пишите код, заменю четвертого на что-то более логичное))

Показать полностью
[моё] Microsoft Excel Vba Ретро-игры Видео Без звука
0
6
vidyakin
vidyakin
2 месяца назад

Новый способ клонировать текст в Word-е⁠⁠

Новый способ клонировать текст в Word-е Обучение, Microsoft Excel, Онлайн-курсы, Программа, Vba, Microsoft Word, Видео, Без звука, Короткие видео, Длиннопост

Клонируем овечку :-)

Сейчас будет сложно. Текст для фанатов эффективности и Word.

Поскольку нам потребуется внедрить и использовать немного программного кода, то надо бы предварительно проверить настройки Word — как он относится к применению макросов.

Выполните длинную цепочку действий: Файл — Параметры — Центр управления безопасностью — Параметры центра управления безопасностью — Параметры макросов и поставьте точку около варианта «Включить макросы».

Да, отчасти это небезопасно, если вы неряшливо себя ведёте по отношению к входящей информацией. Что ж, хотите эффективности, надо её заработать дополнительным знанием. Как себя вести, чтобы не заразить свой компьютер вирусами — читайте мою следующую статью. А мы выходим из уютного безопасного дома и идём вперёд за открытиями.

Есть такая задачка в работе с документами — повторять фрагмент текста несколько раз. Например, если работаешь с договором и его номер надо указать в приложении. Да так, чтобы один раз написать, а он бы повторился несколько раз. Есть несколько способов её решить. Я нашёл ещё один. Как мне кажется, очень элегантный.

Начнём издалека. Во всех программах Microsoft Office есть секретная вкладка, которую придётся включить перед началом выполнения. Тыкните правой кнопкой мыши по любой кнопке на ленте, и вы найдёте команду «Настройка ленты». Появится диалог, в котором (в правой части) надо найти пустой квадратик у слова «Разработчик» и поставить там галочку.

Когда вы нажмёте «OK», в ряду вкладок на ленте появится ещё одна. В этот момент на занятии я произношу стандартную шутку про то, что после включения вкладки «Разработчик» можно требовать повышения оклада, поскольку вы теперь не просто пользователь, а ещё и немного программист.

В этой «каморке технарей» (посередине) мы отыщем раздел «Элементы управления». Он пригодится нам и в следующий раз, когда мы будем готовить документ к защите от шаловливых пальчиков. Но сейчас мы применим эти кнопки для другого дела.

Вот договор, который я буду настраивать. Скачайте его и повторяйте мои действия.

Выделяем номер договора в самом начале документа. Затем идём в «Элементы управления» и нажимаем самую первую кнопку «форматированный текст». Тут же с выделенным фрагментом что-то происходит — теперь это не просто кусочек текста, это особый «Элемент управления». И у него есть свойства. Нажимаем кнопку с этим названием. В появившемся диалоге в графе «Название» пишем «Номер договора».

Теперь идём вниз документа в раздел «Соглашение о договорной цене» и там в тексте выполняем то же самое.

Хотелось бы, чтобы, указывая текст в одном из этих элементов, он бы сам менялся и во всех своих собратьях с одинаковым названием. Увы, Microsoft бросил эти элементы на произвол судьбы и нам остаётся «доработать напильником» эту опцию.

Придётся ненадолго стать программистами. Но не пугайтесь, программу я уже написал, теперь её надо грамотно внедрить в свой Word.

В той же вкладке «Разработчик» нажмите кнопку «Visual Basic». Откроется дополнительное окно. В нём (слева) найдите строчку «Normal» и под ней строчку «Microsoft Word Objects». Разверните её при помощи «плюсика» и затем дважды щёлкните по строчке «ThisDocument». Справа скорее всего будет совсем пусто. Вот туда и скопируйте вот этот код:

Private Sub Document_ContentControlOnExit(ByVal ContentControl As ContentControl, Cancel As Boolean)

Text0 = ContentControl.Range.Text

Title0 = ContentControl.Title

For Each CC In ActiveDocument.ContentControls

Text1 = CC.Range.Text

If CC.Title = Title0 Then

If Text0 <> Text1 Then

CC.Range.Text = Text0

End If

End If

Next

End Sub

Кто хочет понять смысл этих буковок — добро пожаловать ко мне на курс программирования. Правда он проводится на примерах Excel, но закончившим его не составит труда разобрать смысл этих команд, поскольку язык программирования один — VBA. На нём написаны все макросы что в Word, что в Excel, что в других программах MS Office.

Пора возвращаться в документ. Для этого окно режима программирования можно закрывать.

Теперь можно внутри любого из элементов управления писать текст — он автоматически будет размножаться на все элементы управления с таким же названием. Это будет происходить в момент выхода из элемента управления, когда вы тыкнете мышкой за его пределами по обычному тексту. И так в любом документе на этом компьютере.

В дальнейшем я рекомендую элементы управления размножать при помощи копирования. Для этого наведите мышку на элемент, всплывёт корешок с его названием. Такайте по нему и таким образом он весь выделится. Теперь копируйте CTRL+C и вставляйте при помощи CTRL+V в нужных местах. Например, в приложении №1 ниже.

А ещё попробуйте сначала выделить дату договора вверху документа и преобразовать её в элемент управления «выбор даты». Дайте ему имя «Дата договора». И копируйте его внизу по документу в «Соглашение…» и в «Приложение…». Появится возможность выбирать дату в календарике, и она будет размножаться автоматически в разных частях документа, там, куда вы скопируете этот элементу управления. Настраивая этот элемент, не пропустите возможность выбирать вариант отображения даты: краткий — «07.05.2025» или полный — «07 мая 2025 г.»

Приём новый, ещё необкатанный, с благодарностью приму любые вопросы, мысли и замечания по его использованию на электронную почту oleg@vidyakin.ru.

Удачи в повышении эффективности своей работы в Word.

Показать полностью 4
[моё] Обучение Microsoft Excel Онлайн-курсы Программа Vba Microsoft Word Видео Без звука Короткие видео Длиннопост
0
vidyakin
vidyakin
3 месяца назад
Серия Трансляция клуба "Эффективная среда"

Поиграем в программистов⁠⁠

[моё] Обучение Курсы Microsoft Excel Онлайн-курсы Видео ВК Vba Макрос Учебные курсы Видео
0
3
0617
0617
5 месяцев назад

Простой прогресс бар для Excel VBA⁠⁠

Простой прогресс бар для Excel VBA Microsoft Excel, Vba, Макрос
Простой прогресс бар для Excel VBA Microsoft Excel, Vba, Макрос
Простой прогресс бар для Excel VBA Microsoft Excel, Vba, Макрос

Скачать и потренироваться на котиках

Microsoft Excel Vba Макрос
6
7
PolekoZ
PolekoZ
5 месяцев назад
MS, Libreoffice & Google docs

Замена кириллицы на латиницу с одинаковым написанием символов на VBA⁠⁠

Возникла задача замены в маркировке русских букв, которые написаны разными ленивыми или невнимательными людьми, на латинские. В результате выглядящий одинаково текст будет и сравниваться одинаково.

Поиски подобного кода результатов не дали (или может искал плохо, везде максимум транслит), поэтому вот, функция которая делает то, что нужно.

Function CyrillicToLatinSame(inputStr As String) As String

Dim cyrillicChars As String

Dim latinChars As String

Dim i As Integer

Dim resultStr As String

' кириллические символы, которые выглядят как латиница

cyrillicChars = "АЕКМОСТВНРХаеосрх"

' латинские символы, которые выглядят как кириллица

latinChars = "AEKMOCTBHPXaeocpx"

resultStr = inputStr

' замена кириллицы на латиницу с одинаковым начертанием

For i = 1 To Len(cyrillicChars)

resultStr = Replace(resultStr, Mid(cyrillicChars, i, 1), Mid(latinChars, i, 1),1,-1,vbBinaryCompare)

Next i

CyrillicToLatinSame = resultStr

End Function

а также на pastedbin с форматированием

[моё] Программирование Vba Microsoft Excel Текст
3
Вопрос из ленты «Эксперты»
ShukaShabaka
6 месяцев назад
Лига программистов

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
7
bighouse.live
bighouse.live
6 месяцев назад
Серия Оцифровка

Excel. Долгая дорога оцифровки. Часть 10. Пошагово в виде мини видео "уроков"⁠⁠

Пару лет назад выкладывал тут серию постов и проведении оцифровки номограмм. Вложил и забыл.

Excel. Долгая дорога оцифровки. Часть 10.  Пошагово в виде мини видео "уроков" RUTUBE, Microsoft Excel, Vba

Потом делал обучающие видосики по использованию одной из моих разработок по облегчению работы для своих сотрудников. Затем меня попросили на планете эксель показать как делается такая "программа" по автоматизации создания макросов, и я стал потихоньку показывать это. Затем возникла проблема - один из подписчиков попытался подцепить то что я написал на пикабу к тому что я показывал в видео, и у него не получилось... Что естественно поскольку все мы меняемся и наши подходы к решению задач меняются... Но он мне напомнил про мою пикабушную серию, и я решил поделиться. Ссыль на плейлист ниже.

https://rutube.ru/plst/651987

Если есть необходимость/желание научиться автоматизировать оцифровку, то видео с маркировкой 21.* для вас. Если просто по функционалу - весь плейлист в вашем распоряжении.

Сразу скажу - готовых модулей с кодом не дам (почти...). Но весь процесс написания, со всеми узкими местами, будет на видео. На все вопросы отвечу. Ключевое слово - научиться.

Выкладывать все ролики на пикабу, дублируя их, не вижу смысла.

Ну и все вопросы из "почему рутуб" и "зачем это в эксель" оставляю за бортом. Умеете делать лучше? Рад за вас. Делитесь - готов поучиться.

Показать полностью
[моё] RUTUBE Microsoft Excel Vba
0
3
serge21
7 месяцев назад

Настройки Word через VBA или реестр⁠⁠

Доброе время суток всем!

Проблема такая - есть VBA скрипт, нужно перед его запуском сделать чекбокс в настройке Word активным, как на скриншоте, а после отработки скрипта чекбокс убрать. Хотелось бы через VBA, но можно и через реестр. Версия офиса произвольная, 2007-365.

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