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

Страницы: 1 2 3 4 След.
Расчет выслуги лет, Процент расчета выслуги лет
 
Добрый день!

=ЕСЛИ(И(СУММ(C7*365+D7*30+E7)/365<=20;СУММ(C7*365+D7*30+E7)/365>10);20;ЕСЛИ(И(СУММ(C7*365+D7*30+E7)/365>3;СУММ(C7*365+D7*30+E7)/365<=10);10;ЕСЛИ(СУММ(C7*365+D7*30+E7)/365>20;30;"")))
[CODE][/CODE]
Изменено: Константин - 08.08.2019 14:40:22
Проверка совпадений столбцов
 
Добрый день! Макрос.  Днепр и Днепропетровск определяет одинаково.
[ Закрыто] Интересная задача, С помощью формулы вставить диапазон через 6 строк
 
Добрый день! Макросом можно.
Код
Sub ass_3()

Dim a As Long, ii As Long, i As Long

a = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row

Application.ScreenUpdating = False

For ii = 3 To (a - 1) * 7 Step 7

  For i = ii To ii + 5

     Rows(i).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

  Next

Next

Application.ScreenUpdating = True


End Sub
С изменением даты к столбцу прибавлять +1
 
Alt+F11, в редакторе VBA в модуль каждого листа вставить код
Код
Private Sub Worksheet_Change(ByVal Target As Range)

Dim a As Long, b As Range, cel As Range

a = Cells(Rows.Count, 8).End(xlUp).Row

'Событие Worksheet_Change срабатывает при изменении содержимого ячейки
On Error Resume Next

Application.ScreenUpdating = False
  
'если изменение значения происходит
' не в ячейке "H1", то выход

If Target.Address <> "$H$1" Then Exit Sub

Set b = Range(Cells(2, 8), Cells(a, 8))

For Each cel In b.Cells
   cel = cel + 1
Next

Application.ScreenUpdating = True


End Sub
Изменено: Константин - 06.08.2019 14:16:36
С изменением даты к столбцу прибавлять +1
 
Добрый день! Если правильно понял - изменения по столбцу "Н". Без привязки к определенной дате, то меняете дату в "Н1"
Выборка результата из массива данных.
 
Все работает по последней строке и последнему столбцу.  Перетащите макрос в вашу рабочую книгу, но шапка - "Номенклатура" должна быть в А3.
Выборка результата из массива данных.
 
Добрый день! Вариант с макросом.
Смена пароля текущей учетной записи пользователя Windows, Поучаем имя компа, имя пользователя, меняем пароль
 
PassOld на текущий заменил, пароль меняется.

Большое спасибо!
Смена пароля текущей учетной записи пользователя Windows, Поучаем имя компа, имя пользователя, меняем пароль
 
Дает ошибку: "Сетевой пароль указан неверно"
Смена пароля текущей учетной записи пользователя Windows, Поучаем имя компа, имя пользователя, меняем пароль
 
Выдает ошибку по этой строке.
Смена пароля текущей учетной записи пользователя Windows, Поучаем имя компа, имя пользователя, меняем пароль
 
Ошибка такая же:  "Отказано в доступе".  
Смена пароля текущей учетной записи пользователя Windows, Поучаем имя компа, имя пользователя, меняем пароль
 
Код
Dim WshNetwork As Object, sCompName As String, oUser As Object, sName
Set WshNetwork = CreateObject("WScript.Network")

sCompName = WshNetwork.ComputerName  'получаем имя компа

sName = WshNetwork.UserName          'получаем имя текущего пользователя

On Error Resume Next

'sName - имя пользователя на компьюторе
Set oUser = GetObject("WinNT://" & sCompName & "/" & sName & ",user")

'новый пароль
'oUser.SetPassword "2584"

'или такой синтаксис
oUser.SetPassword ("2584")

'ввод нового пароля
oUser.SetInfo

Добрый день! Этот код пробовал на четырех компьютерах, на двух работает, на двух выдает ошибку в строке новый пароль "oUser.SetPassword "2584" ". На всех компьютерах Windows 7, какая может быть причина, Спасибо.
Как найти строки в эксель, где числа стоят в ячейках в порядке возрастания?
 
По вашему примеру
Макрос предотвращающий открытие книги по достижению даты
 
или так, но закрывает все открытые книги
Код
If Date > #7/18/2017# Then Application.Quit
Построение диаграммы с областями игнорируя нулевые значения
 
Добрый вечер! Может так.
Условное форматирование по условию из другой ячейки
 
Добрый день! Может так подойдет, макрос "Заливка",  "Нет_заливки" - снимает заливку
Изменение цвета столбца listbox
 
Да, ошибся. Меняют цвет шрифта и фон все столбики в ListBox. Извиняюсь.
Юрий.М может ваш вариант отдельно по столбцам.
Изменение цвета столбца listbox
 
Код
Private Sub UserForm_Activate()

'для листа "ДД"

'Application.ScreenUpdating = False

On Error Resume Next

Const ВысотаForm As Integer = 404   'UserForm3

With UserForm3
.Width = 392    'ширина 400
.Height = ВысотаForm  '404   'высота
.Top = 195      '0 'сверху вниз
.Left = 700     '0 'слева направо
'.Caption = "Компоненты" 'название формы
.BackColor = RGB(230, 255, 255) 'цвет фона

'изменение шрифта програмно не доступно
'и в свойствах не изменишь!?
'тогда и название вручную

''''''
Const ВысотаListBox As Integer = 375
'ListBox по 2 столбцам
With .ListBox1
  .Width = 200                                'ширина, если два столбца и больше, то ширина ListBox > суммы ширины столбцов
  .Height = ВысотаListBox                                  'высота'375
  .Left = 6                                    'отступ от левой границы формы
  .Top = 23                                    '30
  .Visible = True                              'отключаем видимость, т.е. при активации листа его невидно
  .Enabled = True                              'доступ к выбору значений, по умолчанию True, можно False - нет доступа
  .ListStyle = fmListStyleOption               'выделенный элемент выделяется галочкой
  .MultiSelect = fmMultiSelectMulti            '1 - простой выбор нескольких значений
  .MousePointer = fmMousePointerDefault        'нормальная Стрелка - по умолчанию
  .ColumnHeads = False
  .ColumnCount = 2                             'количество столбцов, меняем по количеству столбцов
  .ColumnWidths = "140;40"                     'ширина двух столбцов, меняем по количеству столбцов, через запятую
  .BackColor = QBColor(15)                     'цвет фона 15 - фон белый, 7; 11
  .BorderStyle = fmBorderStyleNone             'стиль рамки - fmBorderStyleNone - объемная (по умолчанию),fmBorderStyleSingle - без объема
  .ForeColor = QBColor(0)                      'цвет текста, 0 - по умолчанию; 3 - нормально
  .TextAlign = fmTextAlignLeft                 'форматирование текста - расположение слева
End With
End With

'загружаем компонеты в ListBox1
Dim i As Integer, Row As Integer

i = 0
For Row = 7 To 32
UserForm3.ListBox1.AddItem   'обязательная строка, добавляем элемент List
UserForm3.ListBox1.List(i, 0) = Sheets("Сжатый формат").Cells(Row, 1)
UserForm3.ListBox1.List(i, 1) = Sheets("Сжатый формат").Cells(Row, 5)
i = i + 1
Next Row

'List(i,0). i - номер строки;0 - первый столбец в ListBox1
'List(i,1). i - номер строки;1 - второй столбец в ListBox1 и т.д.
'List(i,2). i - номер строки;2 - третий столбец в ListBox1 и т.д.
'List(i,3). i - номер строки;3 - четвертый столбец в ListBox1 и т.д.

'формат текста
 With UserForm3.ListBox1.Font
        .Bold = msoTrue                    'полужирный (msoFalse - обычный)
        .Name = "+mn-lt"                   'шрифт - +основной
        .Size = 11
        'цвет програмно изменить в ListBox нельзя, только в свойствах
 End With
 
''''''
'выставляем свойства
With UserForm3.ListBox2
  .Width = 155                                 'ширина, если два столбца и больше, то ширина ListBox > суммы ширины столбцов
  .Height = ВысотаListBox                      'высота 375
  .Left = 226                                  'отступ от левой границы формы
  .Top = 23                                    '30
  .Visible = True                              'отключаем видимость, т.е. при активации листа его невидно
  .Enabled = True                              'доступ к выбору значений, по умолчанию True, можно False - нет доступа
  .ListStyle = fmListStyleOption               'выделенный элемент выделяется галочкой
  .MultiSelect = fmMultiSelectMulti            '1 - простой выбор нескольких значений
  .MousePointer = fmMousePointerDefault        'нормальная Стрелка - по умолчанию
  .ColumnHeads = False                         'заголовки столбцов не выводятся
  .BackColor = QBColor(15)                     'цвет фона 15 - фон белый, 7; 11
  .BorderStyle = fmBorderStyleNone             'стиль рамки - fmBorderStyleNone - объемная (по умолчанию),fmBorderStyleSingle - без объема
  .ForeColor = QBColor(3)                      'цвет текста, 0 - по умолчанию; 3 - нормально
  .TextAlign = fmTextAlignLeft                 'форматирование текста - расположение слева
End With
''''''

'загружаем компонеты в ListBox2
i = 0
For Row = 7 To 32
UserForm3.ListBox2.AddItem   'обязательная строка
UserForm3.ListBox2.List(i, 0) = Sheets("Сжатый формат").Cells(Row, 1)
'UserForm3.ListBox2.List(i, 1) = Sheets("Сжатый формат").Cells(Row, 5) 'для ListBox2 - лишняя строка, максимальные добавлены в ListBox1
i = i + 1
Next Row

'формат текста
 With UserForm3.ListBox2.Font
    .Bold = msoTrue                    'полужирный (msoFalse - обычный)
    .Name = "+mn-lt"                   'шрифт - +основной
    .Size = 11
    'цвет програмно изменить в ListBox нельзя, только в свойствах
End With
 
''''''
  
With UserForm3.Label1
  .Width = 140                            'ширина
  .Height = 16                            'высота
  .Top = 6                               'сверху вниз 12
  .Left = 6                               'слева направо
  .Caption = "Левая ось Y"                'название формы
  .TextAlign = fmTextAlignCenter          'расположение текста
  .BackColor = QBColor(7)                 'цвет фона 15 - фон белый, 7; 11
  .ForeColor = QBColor(0)                 'цвет текста
  With .Font
  .Bold = True                            'полужирный (False - обычный)
  .Name = "Arial"                         'не работает програмно !? вручную
  .Size = 14
  'World Wrap                             'размещение в ддва ряда при необходимости выставлять вручную
End With
End With

'остальные свойства по умочанию, как настроено Label в UserForm

 With UserForm3.Label2
  .Width = 48                        'ширина
  .Height = 16                       'высота
  .Top = 6                           'сверху вниз 12
  .Left = 158                        'слева направо
  .Caption = "Макс."                 'название формы
  .TextAlign = fmTextAlignCenter     'расположение текста
  .BackColor = QBColor(7)            'цвет фона 15 - фон белый, 7; 11
  .ForeColor = QBColor(0)            'цвет текста
  With .Font
  .Bold = True                        'полужирный (False - обычный)
  .Name = "Arial"                     'не работает програмно !? вручную
  .Size = 14
End With
End With


With UserForm3.Label3
  .Width = 155                       'ширина
  .Height = 16                       'высота
  .Top = 6                           'сверху вниз  12
  .Left = 226                        'слева направо
  .Caption = "Правая ось Y"          'название формы
  .TextAlign = fmTextAlignCenter     'расположение текста
  .BackColor = QBColor(7)            'цвет фона 15 - фон белый, 7; 11
  .ForeColor = QBColor(3)            'цвет текста
With .Font
  .Bold = True                        'полужирный (False - обычный)
  .Name = "Arial"                     'не работает програмно !? вручную
  .Size = 14
End With
End With


'''''''
'сохраняем значение при открытии ListBox
'работает, но лучше циклом

'For a = 2 To 4
'If Sheets("ДД").Cells(30, a).Text = "Углерод оксид" Then _
'UserForm3.ListBox1.Selected(0) = True
'Next

'For a = 2 To 4
'If Sheets("ДД").Cells(30, a).Text = "Азота оксид" Then _
'UserForm3.ListBox1.Selected(1) = True
'Next

'For a = 2 To 4
'If Sheets("ДД").Cells(30, a).Text = "Азота диоксид" Then _
'UserForm3.ListBox1.Selected(2) = True
'Next

'''''''
'сохраняем значение при открытии UserForm

Dim Kom(26) As Range

'присваиваем Set c 1 по 26 значения ячеек с А7 по А32
bb = 7
For aa = 1 To 26
Set Kom(aa) = Workbooks("Парк.xlsb").Sheets("Сжатый формат").Range("A" & bb)
bb = bb + 1
Next

'сохраняем значение при открытии ListBox1 на форме
For a = 2 To 4
For aa = 1 To 26
If Sheets("ДД").Cells(37, a).Text = Kom(aa) Then _
UserForm3.ListBox1.Selected(aa - 1) = True
Next
Next

'сохраняем значение при открытии ListBox2 на форме
For a = 5 To 7
For aa = 1 To 26
If Sheets("ДД").Cells(37, a).Text = Kom(aa) Then _
UserForm3.ListBox2.Selected(aa - 1) = True
Next
Next


'Application.ScreenUpdating = True

End Sub


Полный код для формы.
Изменение цвета столбца listbox
 
Цвет фона и текста в отдельном столбце
Код
Const ВысотаListBox As Integer = 375
'ListBox по 2 столбцам
With .ListBox1
  .Width = 200                                
  .Height = ВысотаListBox                                 
  .Left = 6                                    
  .Top = 23                                    
  .Visible = True                              
  .Enabled = True                              
  .ListStyle = fmListStyleOption               
  .MultiSelect = fmMultiSelectMulti            
  .MousePointer = fmMousePointerDefault        
  .ColumnHeads = False
  .ColumnCount = 2                             
  .ColumnWidths = "140;40"                     
  .BackColor = QBColor(15)                     'цвет фона 15 - фон белый, 7; 11
  .BorderStyle = fmBorderStyleNone             
  .ForeColor = QBColor(0)                      'цвет текста, 0 - по умолчанию
  .TextAlign = fmTextAlignLeft                 
End With
End With
Дата. Получить совместную дату
 
Делал давно, может подойдет.  
Использование таблицы при открытой форме
 
Может к кнопке на форме привязать InputBox, а его к определенной ячейке на листе.
Использование таблицы при открытой форме
 
Может так.
Код
UserForm1.Show 0
поиск пустых ячеек в массиве
 
Может так, но надо больше проверять
Код
For i = 3 To Cells(Rows.Count, 1).End(xlUp).Row Step 6
   If Range("A" & i) = 0 Then Range("A" & i) = "######"
Next
Закрыть MsgBox через 5 секунд
 
Нашел когда то:
в отдельный модуль  и в конце вашей процедуры    Call Отправка почты
вместо 3000 поставить 5000
Код
Option Explicit

Private Declare Function MessageBoxTimeOut Lib "user32" Alias "MessageBoxTimeoutA" (ByVal hWnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal uType As VbMsgBoxStyle, ByVal wLanguageId As Long, ByVal dwMilliseconds As Long) As Long


Public Sub Сообщение()
    MessageBoxTimeOut Application.hWnd, "Данных за выбранный период в базе нет!", "Будьте внимательны.", vbInformation + vbOKOnly, 0&, 3000
End Sub

Public Sub Отправка_почты()
    MessageBoxTimeOut Application.hWnd, "Почта с вложением файла отправлена", "Четырнадцать адресов", vbInformation + vbOKOnly, 0&, 3000
End Sub


Не форматируется поле "отклонение" для расчёта отклонения времени.
 
Может так. И в столбце Е время отобразить 5:00 и тогда формула в ст. F измениться.
Преобразовать текст в число
 
Когда то нашел в интернете. Сначала выделяем нужные столбцы, работает только по занятым ячейкам, а потом циклом удалить строчки с числовыми значениями.
Код
Columns("D:AP").Select

' в выделенных ячейках исправить экспортированные как текст данные чтобы нормально опознались числа

    Dim rArea As Range
    On Error Resume Next
    'выделяем занятые ячейки в диапазон
    ActiveWindow.RangeSelection.SpecialCells(xlCellTypeConstants).Select
    If err Then Exit Sub
    With Application: .ScreenUpdating = False: .EnableEvents = False: .Calculation = xlManual: End With
    For Each rArea In Selection.Areas
    rArea.FormulaLocal = rArea.FormulaLocal
    Next rArea
    With Application: .ScreenUpdating = True: .EnableEvents = True: .Calculation = xlAutomatic: End With
   
DTPicker1 в формате "dd.mm.yyyy hh:mm"
 
 'Properties
'UpDown - True - Бегунок с числами
'Format  3 - dtpCustom
'CustomFormat    dd.MM.yyyy HH:mm
Изменено: Константин - 17.12.2015 20:57:41
DTPicker1 в формате "dd.mm.yyyy hh:mm"
 
Я это пробовал. Все то же самое.
DTPicker1 в формате "dd.mm.yyyy hh:mm"
 
Подчистил немного.Нужно чтобы при открытии формы в DTPicker отображались дата, часы , минуты и можно было менять дату и время.
Изменено: Константин - 15.12.2015 21:48:32
DTPicker1 в формате "dd.mm.yyyy hh:mm"
 
Скрин высылаю.
Страницы: 1 2 3 4 След.
Наверх