1795

Пингуем из Excel

Excel - это не только ВПР и дашборды, но и забавно, а иногда - бессмысленно и беспощадно.

На Youtube есть канал, где его автор творит в екселе всякие админские непотребства. Сейчас он дошёл до отправки в телеграм сообщений о результатах мониторинга.  Я иногда подбираю у него идеи, однако сильно чешусь в неприличных местах, когда вижу его код.

Увага: просмотр канала опасен для неокрепшей психики юных админов.

После просмотра видео, где он пингует список хостов, я подумал: а какого чёрта! И переписал это на свой лад.

Основная нагрузка - функция Ping

Function Ping(IP)

Ping = CreateObject("Wscript.Shell").Run("ping -n 1 -w 1000 " & IP, 0, True) = 0

End Function


Запускает внешний процесс, в котором выполняет собственно ping до нужного хоста.

В оригинале было так:

Весь остальной код - рюшечки вокруг этой функции: обход списка заданное количество раз, раскрашивание ячеек, ожидание паузы и проч.
Файл доступен по ссылке https://disk.yandex.ru/d/cA1XcK44Dx4uwQ

MS, Libreoffice & Google docs

783 поста15K подписчика

Правила сообщества

1. Не нарушать правила Пикабу

2. Публиковать посты соответствующие тематике сообщества

3. Проявлять уважение к пользователям

4. Не допускается публикация постов с вопросами, ответы на которые легко найти с помощью любого поискового сайта.

По интересующим вопросам можно обратиться к автору поста схожей тематики, либо к пользователям в комментариях


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

Утверждения вроде "пост - отстой", это оскорбление автора и будет наказываться баном.

Вы смотрите срез комментариев. Показать все
0
Автор поста оценил этот комментарий

@0617 я понял что менять что-то здесь, а вот что на что и как добавить

For Each cc In UsedRange.Offset(1, 1).Resize(UsedRange.Rows.Count - 1, 1).Cells

With cc.Offset(0, 1)

раскрыть ветку (15)
0
Автор поста оценил этот комментарий

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

раскрыть ветку (14)
Автор поста оценил этот комментарий
Хочу чтобы было несколько столбцов с ip
раскрыть ветку (13)
0
Автор поста оценил этот комментарий

Что-то типа такого?

Иллюстрация к комментарию
раскрыть ветку (12)
Автор поста оценил этот комментарий
Так точно
Автор поста оценил этот комментарий
А как такое сделать?
раскрыть ветку (10)
0
Автор поста оценил этот комментарий

Чуть позже сделаю. Пока сто рублей приготовьте ;)

раскрыть ветку (9)
Автор поста оценил этот комментарий

Я думал у нас тут коммунизм. А оказывается и тут деньги нужны.

раскрыть ветку (8)
1
Автор поста оценил этот комментарий

Сделал, выложил в ту же папку https://disk.yandex.ru/d/cA1XcK44Dx4uwQ?w=1
Можно добавлять сколько угодно групп по три столбца. Главное, чтобы средний начинался на IP. Одним циклом считается обход всех столбцов с заголовком IP*.

Иллюстрация к комментарию
раскрыть ветку (7)
0
Автор поста оценил этот комментарий

For IPgroup = 1 To UsedRange.Columns.Count //это константа или переменая почему 1?

If Cells(1, IPgroup) Like "IP*" Then //тут он использует поиск по первому ряду или по всей таблице?

For Each cc In UsedRange.Offset(1, IPgroup - 1).Resize(UsedRange.Rows.Count - 1, 1).Cells

If cc <> "" Then //а это вообще что за хрень?

раскрыть ветку (4)
0
Автор поста оценил этот комментарий

For IPgroup = 1 To UsedRange.Columns.Count
Цикл - переменная IPgroup принимает значения от 1 количества столбцов в дапазроне с данными.
If Cells(1, IPgroup) Like "IP*" Then
Если значение ячейки в строке 1 и столбце IPgroup соответствует шаблону.
For Each cc In UsedRange.Offset(1, IPgroup - 1).Resize(UsedRange.Rows.Count - 1, 1).Cells

Для каждой ячейки диапазона.

If cc <> "" Then
Если ячейка пустая.

раскрыть ветку (3)
0
Автор поста оценил этот комментарий

Теперь понятно, спасибо. Интересно через сколько упадет Excell теперь если поставить ему боевую задачу. Мне кажется это неплохая вещь чтобы быстро просканировать сеть. Типа IP сканер

раскрыть ветку (2)
0
Автор поста оценил этот комментарий

Обновите пожалуйста ссылку, хочется посмотреть на реализацию

Автор поста оценил этот комментарий

Круто, но все равно не понял как этот VBA работает. Буду юзать zabbix

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества