Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Изменение цвета заливки ячеек по условиям указанным в другой
 
Поиск по значению... Да, была мысль, наверное зря её отложил тогда в сторону, попробую, спасибо. Просто не самая удачная реализация ввода данных получается применена: мы вводим условные номера месяца в году ("1,2,5,7,12" например), и должны получить "закрашивание" этих, указанных, месяцев в таблице.  
Изменение цвета заливки ячеек по условиям указанным в другой
 
Я понимаю что правило "не сложное", но.. Что-то не уверен я в "простоте", иначе не спрашивал бы. Через поиск значения содержимого?
Файл придумывать не надо, прошу подсказать направление .
Кстати, как приложить файл, я что-то не пойму..
Изменение цвета заливки ячеек по условиям указанным в другой
 
Всем доброго времени суток! Поиском пользовался, но не получается составить нужное решение.
В первой таблице я составляю пункты техпроцесса и место их выполнения. На пересечении координат я вписываю номера месяцев когда это там производится. Например "1,2,3,7,8,9" - т.е. январь, февраль и т.д.

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

Собственно понятно что это условное форматирование, но как его решить правильно?

На форуме нашёл похожее решение:
Скрытый текст

Покрутив его нашёл вариант реализации, но явно не самый правильный... Есть идеи?

"Календарь этапов проекта" на форуме в примерах видел, очень похоже, но там диапазоны этапов целые, а мне нужно произвольное назначение месяцев... Мысли рядом, но .. Туплю, помогите, по возможности, пожалуйста.
Благодарю.
Как сделать отправку в Telegram из макроса VBA Excel, Telegram из макроса VBA Excel
 
Всем доброго.
Делюсь своими мыслями:
Код
Sub MTT
Dim Token As String, ChatID As String, message As String
Dim sURL As String, oHttp As Object, sHTML As String
msg = Format(Cells(ActiveCell.Row, 2).Value, "dd.mm.yyyy hh:nn") & "  %0a" & Cells(ActiveCell.Row, 3) & "  %0a" & Cells(ActiveCell.Row, 4) & " %0a Сообщение отправил: " & Cells(ActiveCell.Row, 5)  'создали переменную из ячеек активной строки
message = RussianStringToURLEncode_New(msg)
Token = 
ChatID = 
sURL = "https://api.telegram.org/bot" & Token & "/sendMessage?chat_id=" & ChatID & "&text=" & message
Set oHttp = CreateObject("Msxml2.XMLHTTP")
    oHttp.Open "POST", sURL, False
    oHttp.send
    Set oHttp = Nothing
End Sub


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

Отправка стандартно- через "бот", в группу. А как всё же отправить от собственного имени конкретному абоненту?
Собственно как узнать номер абонента я в курсе, но вот coreAPI что-то не соображу как прикрутить...
Изменено: Константин - - 17.02.2023 02:18:34
Автоматическое удаление строки при наличии пустой ячейки, Добрый день. Есть ли в EXCEL автомат.опция или формула для удаления строк, если в них есть пустые ячейи. Спасибо
 
Код
Sub DeleteEmptyRows()
    
    ' Удаление пустых строк с листа (из таблицы)
    ' Применяется при подготовке  таблиц где требуется автоматически удалить пустые строки
    '
    '
    LastRow = ActiveSheet.UsedRange.Row - 1 + ActiveSheet.UsedRange.Rows.Count    'определяем размеры таблицы
    Application.ScreenUpdating = False
    For r = LastRow To 1 Step -1           'проходим от последней строки до первой
        If Application.CountA(Rows(r)) = 0 Then Rows(r).Delete   'если в строке пусто - удаляем ее
    Next r
End Sub


Я использую вот такое решение.  
Как узнать причину запуска восстановления файла?, автовосстановление Excel
 
Цитата
написал:
Оказывается были числа со слишком большим числом разрядов после запятой.
Прошу прощения, сколько было разрядов и сколько стало?
Как сделать отправку в Telegram из макроса VBA Excel, Telegram из макроса VBA Excel
 
Не участников форума надо ругать, а сыном заниматься что бы он свою энергию и  мысли в нужное русло направил.

Ситуация такая:
Есть таблица. ( :D Логично, правда?). Есть данные распиханные по ячейкам.
Представим что ведём подсчёт результатов беговой эстафеты. Столбцы, например, такие:
Время  Время2 Имя Результат
1 02:30 03:45 Ваня0:45
2 02:30 04:10 Маша 01:40
И т.д.
Есть две кнопки "! место" и "2 место"

Для отправки нам, например, нужны данные из столбцов  А С D F.

То есть нужно что бы в чат улетали данные из ячеек на пересечении конкретных столбцов, но на основе АКТИВНОЙ СТРОКИ.

Размышляя, в том числе и благодаря этой теме пришёл к таким мыслям:

Код message = RussianStringToURLEncode_New(ActiveCell.Text) Отправляет текст в выделенной ячейке.  Тут всё понятно.

Код message2 = RussianStringToURLEncode_New(Range("A1").Text) Отправляет текст находящийся в ячейке А1. Тут всё понятно.

Если я напишу составное условие sURL = "https://api.telegram.org/bot"; & Token & "/sendMessage?chat_id=" & ChatID & "&text=" & message & message2 я отправлю сообщение содержащее текст в выделенной ячейке и текст из ячейки А1. Тут тоже всё понятно.
А дальше как быть?


Ответ на поверхности, что-то не соображу...

И ещё завис над созданием кнопок которые отправляют шаблонный текст "я на месте" и "отошёл" без задействования ячеек таблицы.



Если не сам ответ, то в какую сторону копать?

полистал форум ещё раз, нашёл мысль вот какую:
Код
Sub xxx()  
Dim namb As Long  
Dim activeRow As Long  
activeRow = ActiveCell.Row  
namb = activeRow  
MsgBox namb  
End Sub  

Получается что нужно  message2 = RussianStringToURLEncode_New(Range("=Лист1!C2").Text)
Переделать в ...   типа такого:  message3 = RussianStringToURLEncode_New(activeRow = ActiveCell.Row; Range("myRange1").Columns(А; С; D; F).Text)


Решил пока через спрятанные ячейки с функцией "СЦЕПИТЬ"
Берёт ячейку из столбца "Х" на пересечении с активной строкой.
Решение кривое, но работает ) Спасибо за идеи, много вычитал на этом на форуме.
Код
 message = RussianStringToURLEncode_New(Cells(ActiveCell.Row, 24).Text) 'берёт данные из сборной ячейки АКТИВНОЙ СТРОКИ (данном случае столбец X)
Изменено: Константин - - 18.06.2022 15:33:33
Удалить строки, указав в качестве критерия диапазон значений.
 
В первых строках выражу благодарность автору и участникам форума- огромная работа, очень сильная поддержка вашими вопросами и ответами, спасибо всем!
Задам вопрос по удалению строк и я. Здравствуйте.

Есть таблица выгружаемая из программы. В это таблице отчёты по разным отделам.
Структура таблицы содержит в себе объединённые ячейки. Признак (наименование) отдела стоит в конце строки и эта ячейка объединённая (две строки). Когда запускаю макрос он удаляет строки с данными о подразделении которое мне не интересно оставляя остальные.
Поле 1поле 2поле 3поле 4поле 50000 поле 6поле 7 БР 3
поле8поле9
поле 1поле 2поле 3поле 4поле 5 0000 поле 6поле 7 БР 2
поле 8поле 9Поле 10
поле 11поле 12 поле 13
Использую вот такой макрос:
Код
Sub Удаление_Бригада_1()

    With ActiveSheet.UsedRange

        Set cCurrent = Cells.Find(What:="Бригада 1", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
            :=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
            False, SearchFormat:=False)

        If Not cCurrent Is Nothing Then
        Do
            rowNext = cCurrent.Offset(1, 0).Row
            ActiveSheet.Rows(CStr(cCurrent.Row) & ":" & CStr(rowNext - 1)).Delete
            Set cCurrent = .FindNext
        Loop While Not cCurrent Is Nothing
End If
    End With

End Sub

Всё работает нормально. Удаляет все строки целиком, захватывая нижние, относящиеся к записи. Т.е. для БР3 удалит две строки, для БР 2 удалит 3 строки.

Вопрос вот в чём: Есть таблица где искомое значение находится, например, в Поле 2. В этом случае удаляется только одна строка, так как в первом случае поле (ячейка) с "БР 3" , а так же ПОЛЕ 4 и поле 5 , 6, 7 объединены с нижними ячейками, а во втором случае этого объединения нет.

Вопрос: как обеспечить удаление по искомой фразе в ячейке "Поле 2", так что бы удалялись все строки соответствующей записи?

Что-то никак не пойму... В VBA самоучка в связи с обстоятельствами, прошу простить.
Изменено: Константин - - 10.06.2022 22:04:53
Копировать только текстовое содержимое ячеек Excel-to-WhatsApp
 
Очень даже как.
=СЦЕПИТЬ(E5;" ";F5" ";G5), а уже из этой ячейки "вставить как обычный текст  Ctrl+Shift+V
Логику я думаю поняли.
Страницы: 1
Наверх