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

Страницы: 1 2 3 4 5 6 7 8 9 10 След.
Вычисление разности времени формулой
 
Цитата
написал:
у меня стоит 0
Да!
Извините.
Все так.
Ваш вариант рабочий.
Спасибо большое.
Это я к  вечеру немного туплю.
Вычисление разности времени формулой
 
Цитата
написал:
Вариант корректировки формулы
Здравствуйте. У Вас тоже, к сожалению, если сделать обе ячейки одной даты, в первой написать 17:00, а во второй 22:00, то выдаст 5:00, а должно быть 0.
Вычисление разности времени формулой
 
Цитата
написал:
Смотрите:
Если в С4 17:00 , а в D4 22:00, то формула возвращает 8:00 , что  не верно
Вычисление разности времени формулой
 
Цитата
написал:
?
Нет, Ваша формула возвращает неверные значения, к сожалению
Вычисление разности времени формулой
 
Цитата
Del
Изменено: john22255 - 05.02.2026 16:38:37
Вычисление разности времени формулой
 
Добрый день.
Помогите пожалуйста разобраться!
Вот в ячейке E4 , приложенного файла, есть формула:
Код
=ЕСЛИ(C4<=(6/24);((6/24)-C4);0)+ЕСЛИ(D4>=(22/24);(D4-(22/24));0)
Логика такая: В левой части формулы: если в ячейке С4 время меньше чем 6.00, то возвращается разница между значением 6.00 и значением в ячейке С4 и плюсуется с правой частью формулы, где, если значение в ячейке D4 больше чем 22.00 часа возвращается разница между значением времени в ячейке  D4 и временем 22.00.
Формула работает желаемо, если время в ячейке С4 меньше чем значение времени в ячейке D4 (См. строку С7-Е7). Если наоборот, то формула возвращает ноль.
Можно исправить время в ячейках С4 и D4, таким образом что вместо только времени (8:00:00) будет время с датой :
например 25.01.2026  8:00:00 в ячейке С4 и в ячейке 26.01.2026  0:00:00. (См. строку С5-Е5)
Был бы благодарен уважаемым  форумчанам за подсказку как исправить формулу, чтобы она работала желаемым образом, при условии что в ячейках  C4 и D4 время будет указано в виде 8:00:00.
Подразумевается что между значениями времени в ячейках C4 и D4 никогда не бывает разницы больше чем 24 часа.
Спасибо.
обращение к листу с другого листа
 
Цитата
написал:
В следуйщий раз указывайте сразу где у вас лежит макрос
Принято
обращение к листу с другого листа
 
Цитата
написал:
в PERSONAL.XLSB
именно там
обращение к листу с другого листа
 
Цитата
написал:
А так?
Работает. Спасибо.
Опять это мутное ActiveWorkbook и ThisWorkbook.
обращение к листу с другого листа
 
Добрый день.

Опять в тупике.
Вот есть макрос:
Код
Sub высота_строк()

        ' Устанавливаем высоту строк на текущем листе
    With ActiveSheet
        .Rows("174:237").RowHeight = 3
    End With
    
    ' Устанавливаем высоту строк на листе "22"
    Dim ws As Worksheet
    On Error Resume Next ' На случай, если листа "22" не существует
    Set ws = ThisWorkbook.Sheets("22")
    On Error GoTo 0
    
    If Not ws Is Nothing Then
        ws.Rows("19:81").RowHeight = 3
    Else
        MsgBox "Лист с именем '22' не найден!", vbExclamation
    End If
    
    MsgBox "Готово! Высота строк установлена.", vbInformation


  
    Cells(1, 1).Select
    
End Sub
Этот код ставит высоту строк на текущем листе и на листе "22". Но почему то листа с именем 22 не находит! Хотя он есть (см. прилагаемый файл).
Подскажите пожалуйста как установить высоту строк с 19 по 81 на листе 22 равной 3, не выбирая этот лист (22)?
Спасибо.
Форматирование диапазона ячеек
 
Сделал так:
Код
Range("A1:A3000").Select
    Selection.Font.Bold = False
Форматирование диапазона ячеек
 
Добрый день.
Подскажите, пожалуйста, как в диапазоне ячеек убрать выделение жирным шрифтом? Ну т.е. в диапазоне ячеек некоторые рандомно отформатированы, так, что шрифт  жирный и перед началом работы требуется этот жирный шрифт убрать.

Делаю так:
Код
ThisWorkbook.Sheets("гр_тех_обслуж_срс").Range("A1:A3000").Style = "Normal"
Выдает ошибку: Subscript out of range.
Спасибо.
Изменено: john22255 - 07.02.2025 08:20:53
Копирование диапазона с одного листа на другой
 
Цитата
написал:
Спасибо!
Копирование диапазона с одного листа на другой
 
Добрый день.
Подскажите пожалуйста, почему такая конструкция выдает ошибку:
Код
Sub Макрос1

Range(Sheets("декабрь").Cells(10, 4), Sheets("декабрь").Cells(17, 4)).Copy Range(Sheets("январь").Cells(10, 5))
 
End Sub

Пытаюсь скопировать диапазон с одного листа на другой в приложенном файле, но получаю ошибку "Method 'Range' of object '_Global' faled."
Спасибо
Изменено: john22255 - 22.01.2025 11:02:39
узнать код цвета ярлычка страницы
 
Цитата
написал:
Хорошее
Спасибо, интересно
узнать код цвета ярлычка страницы
 
Цитата
написал:
в коде из сообщения №1 сразу ошибки
Цитата
написал:
Для желтого цветаColorIndex = 6
Цитата
написал:
Пишете .ColorIndex, а ищете .Color
Спасибо всем за подсказки. Cмешал в кучу Color и Colorindex. Понятно
узнать код цвета ярлычка страницы
 
Цитата
написал:
?
показывает 65535.

Не срабатывает, как будьто цвет другой у ярлычков.
Самое интересное что поменялся офис - стал 2016. До этого на 2007 все работало. Больше ничего не менялось.
Изменено: john22255 - 06.05.2024 17:00:51
узнать код цвета ярлычка страницы
 
Цитата
написал:
посмотрите
получаю цвет ярлычка таким образом:
Код
MsgBox ActiveSheet.Tab.Color

показывает 65535.
но по условию не срабатывает:
Код
If Sheets(b).Tab.ColorIndex = 65535 Then

не могу понять почему
Цитата
написал:
отделять желтые ярлычки
ну по условию работать только со страницами с желтым  ярлычком. Но почему-то  не срабатывает!
Код
If Sheets(b).Tab.ColorIndex = 65535 Then
...
узнать код цвета ярлычка страницы
 
Цитата
написал:
ActiveSheet
поправил:
Код
Sub sasdfasd()
Dim  b As Integer

For b = 1 To Sheets.Count
Sheets(b).Select
If Sheets(b).Tab.ColorIndex <> 65535 Then
MsgBox ActiveSheet.Tab.Color
End If
Next b

End Sub
работает. Спасибо.
А если я меняю условие, то не получается отделять желтые ярлычки:
Код
Sub sasdfasd()
Dim  b As Integer

For b = 1 To Sheets.Count
Sheets(b).Select
If Sheets(b).Tab.ColorIndex = 65535 Then
MsgBox ActiveSheet.Tab.Color
End If
Next b

End Sub
т.е. макрос перебирает все странички, но с ярлыком цвета 65535 не находит. Не могу понять почему.
Изменено: john22255 - 06.05.2024 13:20:46
узнать код цвета ярлычка страницы
 
Добрый день.
Подскажите пожалуйста как получить цвет ярлычка активной страницы?
У меня такой код всегда возвращает  цвет 65535 независимо от цвета ярлычка. (Excel 2016).
Код
Sub sasdfasd()
Dim  b As Integer

For b = 1 To Sheets.Count
If Sheets(b).Tab.ColorIndex <> 65535 Then
MsgBox ActiveSheet.Tab.Color
End If
Next b

End Sub
файл на котором тестировал прилагаю
Спасибо
настройка макросов vba после переустановки системы
 
Цитата
написал:
не доступен
так точно.
Спасибо
настройка макросов vba после переустановки системы
 
видимо действительно нет принтера pdf
настройка макросов vba после переустановки системы
 
Дальше ошибка
invalid procedure call or argument
в
Код
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
                                    Filename:="C:\Users\kols0875\Desktop\водосчётчик\2024\для отправки в СетиНикеля\показания на " & Date & ".pdf", _
                                    Quality:=xlQualityStandard, _
                                    IncludeDocProperties:=True, _
                                    IgnorePrintAreas:=False, _
                                    OpenAfterPublish:=False
настройка макросов vba после переустановки системы
 
Цитата
написал:
If Dir(ActiveWorkbook.Path & "\" & REPORTS_FOLDER, 16) = "" Then
  MkDir ActiveWorkbook.Path & "\" & REPORTS_FOLDER
End If
заменил на Ваш вариант - норм
настройка макросов vba после переустановки системы
 
Цитата
написал:
папка такая уже существует.
уже существует такая папка
настройка макросов vba после переустановки системы
 
Цитата
написал:
уберите(или закомментируйте)
сразу вылезла ошибка в строке
Код
MkDir ActiveWorkbook.Path & "\" & REPORTS_FOLDER

PAth/file access error
настройка макросов vba после переустановки системы
 
Код
Sub Передача()


'
'

'
  Dim k As Integer, i As Integer, z As Integer, Mass As Variant

    
    ' название подпапки, в которую по-умолчанию будет предложено сохранить файл
    Const REPORTS_FOLDER = "для отправки в СетиНикеля"
    ' создаём папку для файла, если её ещё нет
    'On Error Resume Next
    MkDir ActiveWorkbook.Path & "\" & REPORTS_FOLDER
    
    ' выбираем стартовую папку
    ChDrive Left(ActiveWorkbook.Path, 1): ChDir ActiveWorkbook.Path & "\" & REPORTS_FOLDER
 
    ' вывод диалогового окна для запроса имени сохраняемого файла
    
    
'ActiveWindow.SelectedSheets.PrintOut Copies:=1
 ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
                                    Filename:="C:\Users\kols0875\Desktop\водосчётчик\2024\для отправки в СетиНикеля\показания на " & Date & ".pdf", _
                                    Quality:=xlQualityStandard, _
                                    IncludeDocProperties:=True, _
                                    IgnorePrintAreas:=False, _
                                    OpenAfterPublish:=False
    

    Dim objOutlookApp As Object, objMail As Object
    Dim sTo As String, sSubject As String, sBody As String, sAttachment As String
 
    Application.ScreenUpdating = False
    'On Error Resume Next
    Shell ("OUTLOOK")
    Application.Wait (Now + TimeValue("0:00:10"))
    'пробуем подключиться к Outlook, если он уже открыт
    Set objOutlookApp = GetObject(, "Outlook.Application")
    Err.Clear 'Outlook закрыт, очищаем ошибку
    If objOutlookApp Is Nothing Then
        Set objOutlookApp = CreateObject("Outlook.Application")
    End If
    objOutlookApp.Session.Logon
    Set objMail = objOutlookApp.CreateItem(0)   'создаем новое сообщение
    'если не получилось создать приложение или экземпляр сообщения - выходим
    If Err.Number <> 0 Then Set objOutlookApp = Nothing: Set objMail = Nothing: Exit Sub
    
    sTo = "@mail.ru"   
    sSubject = ""   
    sBody = ""   
    sAttachment = "C:\Users\kols0875\Desktop\водосчётчик\2024\для отправки в СетиНикеля\показания на " & Date & ".pdf"  '
    'создаем сообщение
    With objMail
        .To = sTo 'адрес получателя
        .CC = "" 'адрес для копии
        .BCC = "" 'адрес для скрытой копии
        .Subject = sSubject 'тема сообщения
        .Body = sBody 'текст сообщения
        '.HTMLBody = sBody 'если необходим форматированные текст сообщения(различные шрифты, цвет шрифта и т.п.)
        .Attachments.Add sAttachment 'чтобы отправить активную книгу вместо sAttachment указать ActiveWorkbook.FullName
        .Display 'Send, если необходимо  отправлять без просмотра
    End With
 
    Set objOutlookApp = Nothing: Set objMail = Nothing
    Application.ScreenUpdating = True
    
    End Sub
настройка макросов vba после переустановки системы
 
Цитата
написал:
имя пользователя не менялось
неа
настройка макросов vba после переустановки системы
 
Цитата
написал:
у него обход ошибок
ну есть, да.
А как выложить код на форум, чтобы кирилические символы нормально отображались?
настройка макросов vba после переустановки системы
 
Вроде нет никаких Missing/
Да и наверное ошибку бы выдавал макрос, а так ничего нет , бесшумно завершается, но без результатов. ни pdf не создает, ни outlook не вызывает.
Страницы: 1 2 3 4 5 6 7 8 9 10 След.
Наверх