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

Страницы: 1
Условия фильтра кодом vba, При замене условий отбора (Criteria1:) в коде макрорекордера условия не выполняются
 
Приветствую, знатоки!
1. Записал макрорекордором макрос по установке фильтрации. Записанный код работает исправно.
2. в Criteria1: - переписал условия фильтрации в коде. Фильтр выставился, но в самом фильтре значений нет вообще никаких.
Прошу помочь и указать причины:
Код
Sub Макрос2()

'Записано макросом. При запуске макроса - работает
    ActiveSheet.Range("$B$23:$F$500").AutoFilter Field:=2, Criteria1:=Array( _
        "Зав.секцией", "кассир", "Кассир ТЗ"), Operator:=xlFilterValues
'Заменил условия отбора и опробовал код. Не работает
    ActiveSheet.Range("$B$23:$F$500").AutoFilter Field:=2, Criteria1:=Array( _
        "РОП", "МКО2К", "менеджер дизайн студии", "МКО1К"), Operator:=xlFilterValues
End Sub
Скрытый текст
VBA. Плавное перемещение картинки на UserForm, Нужен цикл на плавное перемещение картинки за 3 секунды
 
Скрытый текст
Пробовал через Application.Wait - задержка. Работает не корректно.
Нашел похожее в просторах инета, но тут Loop на постоянную и по всей userform картинка передвигается. Переписать двигать из пункта А в пункт В мозгов не хватило:
Код
Private Sub CommandButton1_Click()
End
End Sub
Private Sub UserForm_Activate()
On Error Resume Next
Do
Label1 = Format(Date, "dddd, dd mmm yyyy")
Label2 = Format(Time, "hh:mm:ss AM/PM")
Label3.Left = Label3.Left - 2
If Label3.Left <= 0 - Label3.Width Then Label3.Left = Me.Width
For i = 1 To 8000000
Next
DoEvents
Loop
End Sub
Изменено: Sanja - 10.07.2024 15:32:41 (Изменил название темы)
Цикл на поиск ближайшей большей назначенной даты., С помощью Find ищу дату в диапазоне. Если есть, то определяет номер строки. Если нет! Помогите создать цикл на myPhrase = myPhrase + 1
 
Код
            Dim myPhrase As Variant, myCell As Range
            Workbooks(1).Activate
            myPhrase = Range("F4").Value 'Это дата в ячейке
            Workbooks(2).Activate
          
                Set myCell = Range("G2:G1200").Find(myPhrase)
                If Not myCell Is Nothing Then
                    MsgBox myCell.Row 'выводит номер строки, если нашел
                Else
                MsgBox "даты нет!"
                myPhrase = myPhrase + 1
                'Нужно настроить цикл на поиск ближайшей большей даты myPhrase, чтобы возвращал на If
                End If
Изменено: IvanVictorovich2 - 26.04.2024 12:24:26 (ошибка в тексте)
ПЕРЕИМЕНОВАТЬ_ЛИСТЫ_СОГЛАСНО_ТЕКСТА_ИЗ_ДИАПАЗОНА, Приветствую, знатоки! Не получается совместить переменные для имен листов. При первом круге третий лист переименоваться правильно, далее макрос подхватывает имя первого круга в Range("B1") и пытается переименовать вновь лист 3. Помогите, пожалуйста.
 
Sub ПЕРЕИМЕНОВАТЬ_ЛИСТЫ_СОГЛАСНО_ТЕКСТА_ИЗ_ДИАПАЗОНА()
'Шаг 1: Объявить переменные
Dim MyRange As Range
Dim i As Long
Dim MyCell As Range
'Шаг 2: Определение целевого диапазона.
Set MyRange = Range("B1:K1") 'ДИАПАЗОН СО ЗНАЧЕНИЯМИ ДЛЯ ПЕРЕИМЕНОВАНИЯ ЛИСТОВ

'Шаг 3: Запуск цикла через диапазон.

For Each MyCell In MyRange
'Шаг 4: Какое-либо действие с каждой ячейкой.
If MyCell.Value <> "" Then
Application.ScreenUpdating = False
           For i = 3 To Worksheets.Count 'НАЧАТЬ ПЕРЕИМЕНОВЫВАТЬ С 3-го ЛИСТА и ДО КОНЦА
           Worksheets(i).Name = MyCell.Value
Application.ScreenUpdating = True
'Шаг 5: Перейти к следующей ячейке в диапазоне

Next i

End If
'Шаг 5: Перейти к следующей ячейке в диапазоне
Next MyCell
End Sub
Изменено: IvanVictorovich2 - 22.01.2024 15:57:50 (Не верно оформлено)
Определить индекс активной книги, Та книга с которой запускается макрос должна быть Workbook(1)
 
Код
If ActiveWorkbook./Index/ <> 1 Then
    MsgBox (Space(50) & "ВНИМАНИЕ!" & Chr(13) & Space(5) & "В этой процедуре следует закрыть все предыдущие, ранее открытые файлы Excel.")
Else
    MsgBox ActiveWorkbook.Name
End If

Читал похожую тему 2010, но там нашлось решение только Worksheets("Лист2").Index  - листы. Подскажите, как можно решить эту задачу в отношении книги? В образце кода специально /Index/ поставил в "/****/" для наглядности.
Замена пароля в книге с VBA, Пробовал через ActiveWorkbook. менять пароль, макрос ругается на неверный пароль. \Первые две строки в коде\. В ЧЕМ ОШИБКА?
 
Код
        'ActiveWorkbook.Unprotect Password:="123456" 'Range("AH1").Value ' ЗДЕСЬ РУГАЕТСЯ, ЧТО ПАРОЛЬ НЕ ВЕРНЫЙ
        'ActiveWorkbook.Protect Password:="8888" 'Range("AI1").Value
        
        ThisWorkbook.Unprotect Password:="123456" 'Если пароля нету, то только ThisWorkbook.Unprotect
        'Установка защиты
        ThisWorkbook.Protect Password:="8888"
                
        ActiveWorkbook.Close SaveChanges:=True
Вообще, планирую Password: с ячейки Range("AI1").Value подтянуть.
Видел подобную тему на сайте через ThisWorkbook. сделать, но здесь такая же ошибка.

Подобная тема
Страницы: 1
Наверх