Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 След.
Способы отображения результатов поиска по слову (сочетанию букв)
 
Или через форму+макрос:
Автоматическое обновление отображаемого значения в combobox
 
Тогда макрос:
Код
Private Sub ComboBox1_Change()
ComboBox2.ListFillRange = "List"
ComboBox2.ListIndex = 0
End Sub
Заполнить бланк с помощью макроса
 
Можно и без макроса. Простым =ВПР
Автоматическое обновление отображаемого значения в combobox
 
Если без макросов, то используйте элемент управления, а не элемент ActiveX.
см. пример.
Создание теста при помощи макросов
 
Как-то так:
Изменено: GRIM - 22 Апр 2019 11:30:22
Скрыть заполненные строчки
 
Вероятно так:
[ Закрыто] Перемещение (копирование) значения на другой лист, со ссылкой на определенную строку
 
Либо через ИНДЕКС+ПОИСКПОЗ:
Определить число циклов по матрице смежности графа.
 
Как-то так:
Код
Sub t()
i = 3
    For Each cell In Range("I4:AA22")
        If cell = 1 Then
            Cells(i, 1) = Cells(3, cell.Column)
            Cells(i, 2) = Cells(cell.Row, 8)
            i = i + 1
        End If
    Next
End Sub
создание печатной формы квитка по исходным данным, создание квитка по зарплате исходя из имеющихся данных в таблице
 
Я списком и делал. Вероятно из-за того что формат файла старый список слетает из-за несовместимости версий.
Пересохранил.

Цитата
siv написал:
и еще момент когда я скопировал формулу в точно такой же файл он почему то пишет нули в днях что не так может быть
Это скорее всего из-за того что вводите как обычную формулу. Надо вводить как формулу массива, через Ctrl+Shift+Enter
создание печатной формы квитка по исходным данным, создание квитка по зарплате исходя из имеющихся данных в таблице
 
Вероятно так:
VLOOKUP выдает ошибку #N/A, #N/A при использовании VLOOKUP
 
На листе Accounts_new_org переставьте местами столбцы Name и id.
ВПР ищет только по первому столбцу массива.
Макрос удаления строк ранее сегодняшней даты
 
Тогда нужно только эти 2 строки удалить из кода:
Код
       Cells(i, 2) = Cells(i, 1) & Cells(i, 4)
       Cells(i, 3) = Cells(i, 1) & Cells(i, 4)
Макрос удаления строк ранее сегодняшней даты
 
Про склейку не понятно, так что как сам додумал. Дублируется во 2-м и 3-м столбцах:
Код
Sub t()
x = ActiveSheet.UsedRange.Rows.Count
    For i = x To 1 Step -1
       Cells(i, 2) = Cells(i, 1) & Cells(i, 4)
       Cells(i, 3) = Cells(i, 1) & Cells(i, 4)
        If Cells(i, 4) < Date Then
        Rows(i).Delete
        End If
    Next
End Sub
Авто-заливка текущих и воскресных дней
 
Цитата
alex_kireev написал:
версия Excel у вас стоит.
2013
Авто-заливка текущих и воскресных дней
 
alex_kireev, судя по скрину у Вас старая версия Excel, вероятно 2003.
Я думаю ошибка связана с проблемой описанной тут и пересохраненный файл в .xls надеюсь откроется нормально.
А про Worksheet_Change, верно, это процедура события изменения листа. Она у Вас есть в модуле листа, я её только дополнил и добавил процедуру на событие открытия книги в модуль книги.
Авто-заливка текущих и воскресных дней
 
Это в модуль книги:
Код
Private Sub Workbook_Open()
    x = Sheets("Лист2").Cells(Rows.Count, 2).End(xlUp).Row
    Sheets("Лист2").Cells(x + 1, 2) = VBA.Date
    Sheets("Лист2").Cells(x + 1, 3) = Format(VBA.Date, "DDDD")
    If Sheets("Лист2").Cells(x + 1, 3) = "вторник" Then
        Sheets("Лист2").Range(Sheets("Лист2").Cells(x + 1, 2), Sheets("Лист2").Cells(x + 1, 2)).Interior.Color = RGB(255, 102, 255)
    End If
        Sheets("Лист2").Range(Sheets("Лист2").Cells(x, 2), Sheets("Лист2").Cells(x, 6)).Interior.Pattern = xlNone
End Sub

Это в Ваш Worksheet_Change:

Код
x = Sheets("Лист2").Cells(Rows.Count, 2).End(xlUp).Row
    If Sheets("Лист2").Cells(x, 6) <> "" Then
        Sheets("Лист2").Range(Sheets("Лист2").Cells(x, 2), Sheets("Лист2").Cells(x, 6)).Interior.Color = RGB(255, 0, 0)
    End If

Ну и вторник заменить на воскресенье в первом коде.
В ячейке выпадающий список совместить со значением
 
Полагаю что так:
Автоматическая прорисовка границ и выделение цветом в новом диапазоне ячеек
 
Как вариант, но только с учетом того что не указывать диапазоны в виде "2x8", а указывать в фактическом "8+8".
Код
Sub t()
Application.ScreenUpdating = False
a = Cells(7, 3).End(xlDown).Row - 6
m = ActiveSheet.UsedRange.Columns.Count
    For i = 0 To a - 1
        x = Cells(i + 7, 3)
        y = Mid(x, InStr(x, ":") + 2)
        arr = Split(y, "+")
        s = 11 + i
        o = 5
            For u = 0 To UBound(arr)
                r = Int((255 * Rnd) + 1)
                g = Int((255 * Rnd) + 1)
                b = Int((255 * Rnd) + 1)
                Range(Cells(s, o), Cells(s, --arr(u) + o - 1)).Select
                Selection.Interior.Color = RGB(r, g, b)
                Selection.Borders(xlDiagonalDown).LineStyle = xlNone
                Selection.Borders(xlDiagonalUp).LineStyle = xlNone
                    With Selection.Borders(xlEdgeLeft)
                        .LineStyle = xlContinuous
                        .ColorIndex = 0
                        .TintAndShade = 0
                        .Weight = xlMedium
                    End With
                    With Selection.Borders(xlEdgeTop)
                        .LineStyle = xlContinuous
                        .ColorIndex = 0
                        .TintAndShade = 0
                        .Weight = xlMedium
                    End With
                    With Selection.Borders(xlEdgeBottom)
                        .LineStyle = xlContinuous
                        .ColorIndex = 0
                        .TintAndShade = 0
                        .Weight = xlMedium
                    End With
                    With Selection.Borders(xlEdgeRight)
                        .LineStyle = xlContinuous
                        .ColorIndex = 0
                        .TintAndShade = 0
                        .Weight = xlMedium
                    End With
                    Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
                        o = o + arr(u)
            Next u
    Next i
Application.ScreenUpdating = True
End Sub
Скрыть-показать картинки на листе нажатием кнопки
 
Если правильно понял, то так с учетом замены кнопки на ActiveX:
Код
Private Sub CB1_Click()
If ws1.Shapes(1).Visible = msoTrue And _
        ws1.Shapes(2).Visible = msoTrue Then
        'ws1.Рисунок(3).Visible = msoTrue
        cb1.Caption = "Показать"
        ws1.Shapes(1).Visible = msoFalse
        ws1.Shapes(2).Visible = msoFalse
    Else
        cb1.Caption = "Скрыть"
        ws1.Shapes(1).Visible = msoTrue
        ws1.Shapes(2).Visible = msoTrue
        'ws1.Рисунок(3).Visible = msoFalse
    End If
End Sub
Выпадающий список с возможностью ввода других значений
 
Добрый! Отключите сообщение об ошибке. Тогда можно будет ввести что угодно.
Изменено: GRIM - 25 Фев 2019 12:05:05
vba listbox результаты поиска в другой форме
 
Думаю здесь найдете ответ:
https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=77349&MID=s
Как сделать историю значений с помощью макроса?
 
А вариант с историей изменения ячейки в примечании не рассматривали которому здесь учили?
https://www.planetaexcel.ru/techniques/5/208/
Удаление строк по условию через форму
 
Попробуйте для CommandButton1_Click так:
Код
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False

x = Sheets(1).UsedRange.Rows.Count
For i = 1 To x
    If Sheets(1).Cells(i, 1) = UserForm1.ComboBox1.Text Then _
        Sheets(1).Rows(i).Delete
Next
y = Sheets(2).UsedRange.Rows.Count
    If y = 1 And Sheets(2).Cells(y, 1) = "" Then y = 1 Else y = y + 1
        Sheets(2).Cells(y, 1) = UserForm1.ComboBox1.Text
        
Application.ScreenUpdating = True

MsgBox "Информация внесена", 64, "Сообщение"

Unload Me


End Sub
Удалить дубликаты по незаполненному столбцу
 
Можно так:
Код
Sub t()
x = ActiveSheet.UsedRange.Rows.Count
For i = x To 1 Step -1
If Cells(i, 4) = "" Then Rows(i).Delete
Next
End Sub
Формула для расчета средней цены
 
Код
=(НАИБОЛЬШИЙ(СМЕЩ(Таблица1!$A$1;ПОИСКПОЗ(Таблица2!A2;Таблица1!A:A;0);1;СЧЁТЕСЛИ(Таблица1!A:A;Таблица2!A2));1)+НАИБОЛЬШИЙ(СМЕЩ(Таблица1!$A$1;ПОИСКПОЗ(Таблица2!A2;Таблица1!A:A;0);1;СЧЁТЕСЛИ(Таблица1!A:A;Таблица2!A2));2)+НАИБОЛЬШИЙ(СМЕЩ(Таблица1!$A$1;ПОИСКПОЗ(Таблица2!A2;Таблица1!A:A;0);1;СЧЁТЕСЛИ(Таблица1!A:A;Таблица2!A2));3))/3


Только обязательное условие что цен минимум 3 шт. было по каждому артикулу.
Рассчитать рейтинг на основании выполнения % от цели
 
А чем настраиваемая сортировка не подходит?
Иначе не достаточно описания...
скрыть/отобразить строки по значению в ячейке, Не обновляется страница
 
Major_007, очень странно( Возможно у Вас есть ограничение в настройках по работе макросами, т.к. у меня все работает и  туда и обратно.
Может формат сменить...
Как в этом файле?
Изменено: GRIM - 5 Фев 2019 18:31:18
скрыть/отобразить строки по значению в ячейке, Не обновляется страница
 
Может так?
Определить кто с кем из сотрудников пересекается по датам отпусков, Есть график отпусков. Пересечения определятся если они есть, но не понятно с каким сотрудником/ми
 
Спасибо большое!
Определить кто с кем из сотрудников пересекается по датам отпусков, Есть график отпусков. Пересечения определятся если они есть, но не понятно с каким сотрудником/ми
 
Здравствуйте!
Подскажите пожалуйста как сделать вывод имен сотрудников с кем в датах пересекаются отпуска.
Т.е. чтобы вместо "Есть пересечения" в AL были все имена из AI с кем пересечения по датам.
Страницы: 1 2 3 4 След.
Наверх