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

Страницы: 1 2 3 4 5 След.
Установка текущего года из массива в Combobox. VBA
 
vikttur, спасибо за наставление, обязательно это учту. w = .Width, забыл удалить, остался от другого кода. Понравилось ваше решение через With.
Ігор Гончаренко, разобрался с вашим кодом, спасибо, все работает.
Установка текущего года из массива в Combobox. VBA
 
Может я не так выразился, под датами подразумевались года в массиве. В любом случае вопрос закрыт.
Установка текущего года из массива в Combobox. VBA
 
Ігор Гончаренко, мне жаль, что я что-то не понятно пояснил, но суть задачи была в том, чтобы найти в массиве дату текущего года и отправить в ComboBox1.ListIndex номер его позиции, в случае моего примера - это позиция 11 . При запуске формы в комбобоксе отобразится текущий год и при раскрытии списка комбобокса будет идти следующий год и т.д. В вашем варианте вы предложили заменить ComboBox1 = y на ComboBox1.ListIndex = 11. Мне нужно, чтобы значение 11  в ComboBox1.ListIndex попадало автоматом, а не прописывать 11 вручную.

Вот решение:
Код
Sub Test()
Dim i As Variant, s As Date, arr()
s = Year(Now)
arr = ComboBox1.List
For i = LBound(arr) To UBound(arr)
    If s = arr(i, 0) Then
        ComboBox1.ListIndex = Int(i)
        Exit For
    End If
Next
End Sub
Установка текущего года из массива в Combobox. VBA
 
Ігор Гончаренко В вашем варианте в комбобоксе устанавливается текущий год 2021, но при раскрытии списка комбобокса следующий год идет 2010.
Установка текущего года из массива в Combobox. VBA
 
vikttur Чтобы найти в массиве дату текущего года и отправить в ListIndex номер его позиции. Нужен вариант именно с ListIndex.

Попробовал сделать так:
Код
Sub Test()
Dim i As Long, arr()
arr = ComboBox1.List
For i = LBound(arr) To UBound(arr)
    If Year(Now) = arr(i, 1) Then
        ComboBox1.ListIndex = Int(i)
    End If
Next
End Sub

Выдает ошибку 9 subscript out of range. Полагаю это из-за неверного обращения к массиву внутри комбобокса  arr(i, 1).
Как это возможно исправить?
Изменено: vikttur - 22.09.2021 11:22:43
Установка текущего года из массива в Combobox. VBA
 
vikttur в ComboBox1.ListIndex должно быть  11. 11 - позиция в массиве  2021 года в примере. Мне не понятно, как сравнить при переборе номер позиции  с текущим годом.
Изменено: Hashtag - 21.09.2021 16:31:40
Установка текущего года из массива в Combobox. VBA
 
Владимир S, Ігор Гончаренко так работает, но по правде, интересовал способ с перебором всех имеющихся дат в массиве, сравнение их с текущим годом year(Date) и в случае совпадения, установить его в ComboBox1.ListIndex. Должен был это в первом посте написать, прошу прощения.
Установка текущего года из массива в Combobox. VBA
 
Здравствуйте. Подскажите, как правильно установить в комбобоксе текущий год из массива этого комбобокса. При запуске формы, в комбобоксе должен отобразиться текущий год с сохранением порядка дат(т.е. при вызове выпадающего списка после 2021 должен быть 2022 и т.д. )
Удалить точки в маске даты через Backspace. VBA
 
Здравствуйте. В примере код позволяет ввести маску даты формата xx.xx.xxxx. При удалении через клавишу Backspace удаляются только символы до точки, удалить точку не позволяет код. Помогите изменить код так, чтобы удалялись символы вместе с точками.
Уникальные значения в Combobox из таблицы на другом листе. VBA
 
nbaengineer спасибо за доработанный вариант, все работает, единственное строчку
Код
Uniq.Add Arr(i, 1), CStr(Arr(i, 1))

заменил на:
Код
If Arr(i, 1) <> "" Then Uniq.Add Arr(i, 1), CStr(Arr(i, 1))

чтобы игнорировать пустые ячейки.
RAN спасибо, ваш вариант работает безупречно.
Уникальные значения в Combobox из таблицы на другом листе. VBA
 
artemkau88, да, то что нужно, спасибо вам большое за труды. И еще вопрос. В чем преимущество SQL запроса перед вариантом кода без SQL?
Уникальные значения в Combobox из таблицы на другом листе. VBA
 
Запустите форму в примере
Уникальные значения в Combobox из таблицы на другом листе. VBA
 
artemkau88, спасибо за пример и пояснение. Единственная проблема, код выдает ошибку на пустую ячейку, если в соседней ячейке ввести значение. Возможно это поправить?
Изменено: Hashtag - 26.08.2021 18:01:15
Уникальные значения в Combobox из таблицы на другом листе. VBA
 
nbaengineer, спасибо за ваш вариант. Возможно ли сделать, чтобы привязка была к самой таблице , а не к диапазону?

artemkau88, ваш вариант работает. Единственный вопрос, как указать таблицу, с которой приходят данные, на случай если их будет несколько на листе, просто с SQL не знаком совсем.
Уникальные значения в Combobox из таблицы на другом листе. VBA
 
Здравствуйте. Помогите получить уникальные значения в Combobox в  User form из второго столбца таблицы, которая находится на другом листе. Если возможно, в алфавитном порядке.
Передать данные из одной UserForm в другую. VBA
 
Благодарю, все работает.
Передать данные из одной UserForm в другую. VBA
 
Здравствуйте. Каким образом можно передать данные из текст бокса одной формы в текст бокс другой?
В примере кнопкой форма1 активируем форму1, далее в появившейся форме1 активируем форму2.
В форме2 в текст бокс вводим текст и жмем Отправить в TextBox1.
В TextBox1 формы1 должен появиться текст из TextBox2 формы2.
Изменено: Hashtag - 23.08.2021 10:52:27
Подсветка дат в календаре. Условное форматирование
 
evgeniygeo
Все верно, спасибо.
Подсветка дат в календаре. Условное форматирование
 
Здравствуйте. Необходимо подсветить даты в календаре с событием. С подсветкой текущей даты и подсветкой дат с событием проблем нет. Не работает условие для подсветки текущей даты с событием.
Код
=И(СЕГОДНЯ();НЕ(ЕОШИБКА(ПОИСКПОЗ(B4;ДВССЫЛ("Дата[Данные]");0))))
Генератор всех возможных комбинаций из набора символов, VBA или формулой
 
Спасибо.
МатросНаЗебре, ваш вариант хорош, но если оставить, к примеру, 2 символа q и w, то должны получаться две комбинации qw и wq. Но макрос  заполняет этими комбинациями все 40320 ячеек.

MCH, ваш вариант работает как надо.
Генератор всех возможных комбинаций из набора символов, VBA или формулой
 
Здравствуйте. Помогите, пожалуйста, создать генератор всех возможных комбинаций из символов в ячейках A1:H1. Результаты можно выводить в столбец K. Пустые ячейки в A1:H1 необходимо пропускать. Решение возможно формулой или VBA.
Изменено: Hashtag - 01.06.2021 01:12:31
Поиск содержимого ячейки на другом листе по дабл клику. VBA
 
RAN, skais675
Спасибо, оба способа рабочие.
Поиск содержимого ячейки на другом листе по дабл клику. VBA
 
Здравствуйте. Помогите, пожалуйста сделать макрос, который при двойном клике по ячейке на Листе1, найдет такой же текст из этой ячейки на Листе2 и выберет эту ячейку.
Например: На Лист1 двойной клик по ячейке Арбуз, макрос перемещает на ячейку с текстом Арбуз на Лист2.
Смещение значений при двойном клике
 
Ничего не изменилось, такое ощущение, будто что-то активируется после двойного клика по ячейке с формулой и деактивируется после двойного по пустой.
Смещение значений при двойном клике
 
Здравствуйте, недавно заметил особенность в Excel 2016. Если после выделения двойным щелчком ячейки с формулой, также двойным щелчком выделить другую ячейку со значением без формулы, то в режиме редактирования значение этой ячейки остается справа, но если также двойным выделить другую и все последующие ячейки, значения в режиме редактирования смещаются влево, причем вне зависимости, где находится ячейка. Если двойным кликнуть сначала по пустой ячейке, а после двойным по разным ячейкам со значениями без формул, значения в режиме редактирования остаются справа.
Хотелось бы узнать, только у меня такое происходит или это особенность Excel 2016?
Нумерация строк по содержанию в ячейках. VBA
 
Smurov
Спасибо за ваш вариант!
Нумерация строк по содержанию в ячейках. VBA
 
БМВ
Спасибо, то что надо.
Нумерация строк по содержанию в ячейках. VBA
 
Еще раз
Например
Код
If controlData(i, 1) = "Один" или "Два" или "Три" Then
Нумерация строк по содержанию в ячейках. VBA
 
Андрей VG
Благодарю, все работает.
Один вопрос. Как добавить условие ИЛИ в строку:
Код
If controlData(i, 1) = "Один" Then

Например "Один" или "Два" или "Три" или "Четыре".
Нумерация строк по содержанию в ячейках. VBA
 
Здравствуйте. Помогите, пожалуйста, доработать макрос. Необходимо, чтобы макрос нумеровал строки в столбце A при условии, если в соответствующей строке столбца E есть слово "Один", другие строки нужно пропускать.
Этот макрос нумерует все строки.
Код
Sub num()
Application.ScreenUpdating = False
Application.EnableEvents = False
Dim lr&
lr = Cells(Rows.Count, 2).End(xlUp).Row
lr = IIf(lr < 5, 5, lr)
Range(Cells(1, 1), Cells(Cells(Rows.Count, 1).End(xlUp).Row, 1)).ClearContents
For i = 5 To lr
 If Application.WorksheetFunction.CountA(Rows(i)) <> 0 Then
  K = K + 1
 Cells(i, 1) = K
End If
Next i
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Страницы: 1 2 3 4 5 След.
Наверх