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

Страницы: 1
В один столбец поместить несколько фильтров в зависимости от отмеченных чекбоксов
 
Добрый день! Подскажите пожалуйста, хочу в один столбец поместить несколько фильтров в зависимости от отмеченных чекбоксов. Пробовала несколькими способами. При первом способе при вызове формы и проставлении галочки на каком либо одном чекбоксе идет фильтр по одному (последнему) критерию.
(пример привела с частью чекбоксов, так как код уже стерла и нет смысла прописывать прям все):
Код
If CheckBox1.Value = True Then
Worksheets("База общая").Range("A1:FA3863").AutoFilter Field:=9, Criteria1:="КИБ"

ElseIf CheckBox2.Value = True Then
Worksheets("База общая").Range("A1:FA3863").AutoFilter Field:=9, Criteria1:="РБ"

ElseIf CheckBox3.Value = True Then
Worksheets("База общая").Range("A1:FA3863").AutoFilter Field:=9, Criteria1:="ПРПА"

ElseIf CheckBox4.Value = True Then
Worksheets("База общая").Range("A1:FA3863").AutoFilter Field:=9, Criteria1:="Сеть"

ElseIf CheckBox5.Value = True Then
Worksheets("База общая").Range("A1:FA3863").AutoFilter Field:=9, Criteria1:="Руководство"

End if

На просторах форума (конкретно здесь https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=1&TID=53961) нашла похожую проблему, но не поняла какое итоговое рабочее решение. Не совсем то, так как мои чекбоксы для фильтра не помещены в отдельный фрейм. Попыталась преобразовать под себя, но тоже не вышло, выдает ошибку:
Код
With Me
For Each Control In .MultiPage2.Page2.Controls
If TypeOf Control Is MSForms.CheckBox And Control.Value = True Then: _
Worksheets("База общая").Range("A1:FA3863").AutoFilter Field:=9, Criteria1:=i

Next
 
End With
Не могу понять, как сделать так, чтобы я мог отметить несколько чекбоксов и фильтр происходил по разным критериям. Прошу помощи в решении этой задачи.
Привожу пример формы, на форме есть Frame 3, на нем MultiPage2, и сами чекбоксы на Page2.
Скрытие строк в зависимости от содержания ячеек
 
Добрый день, подскажите пожалуйста, мне необходимо сделать следующий макрос: по условию, если один из option button =true, скрыть определенные строки в зависимости от содержимого ячеек A3-A5.

В зависимости от содержимого A5 должен работать option button SelfDevelopment.
В зависимости от содержимого A4 должен работать option button TeamWork.
В зависимости от содержимого A3 должен работать option button AllIndicators.

SelfDevelopment, AllIndicators, TeamWork - наименования option button.
Вот мой код, у меня выполняется только первая часть:
Код
If SelfDevelopment.Value = True Then
ElseIf Worksheets("Профиль сотрудника").Range("A5") = "Вид1" Then
Rows("3:13").Hidden = True

End If

If AllIndicators.Value = True Then
ElseIf Worksheets("Профиль сотрудника").Range("A3") = "Вид1" Then
Rows("3:63").Hidden = False

ElseIf Worksheets("Профиль сотрудника").Range("A3") = "Вид2" Then
Rows("3:7").Hidden = True

ElseIf Worksheets("Профиль сотрудника").Range("A3") = "Вид3" Then
Rows("3:13").Hidden = True

End If

If TeamWork.Value = True Then

ElseIf Worksheets("Профиль сотрудника").Range("A4") = "Вид1" Then
Rows("14:63").Hidden = True

ElseIf Worksheets("Профиль сотрудника").Range("A4") = "Вид2" Then
Rows("3:7").Hidden = True
Rows("9:63").Hidden = True

ElseIf Worksheets("Профиль сотрудника").Range("A4") = "Вид3" Then
Rows("3:63").Hidden = True
MsgBox ("Не имеет показателей работы с командой") 'для ошибки
End If
Фильтр: исключить пустые значения и ячейки со значением "Нет результатов".
 
Добрый день, подскажите пожалуйста как установить фильтр на столбец № 72 на листе "База общая", который исключает пустые значения и ячейки со значением "Нет результатов". Фильтр срабатывает если OptionButton31 равен true.
Тот код который я написала, выполняет только первую часть задачи, т.е. исключает пустые значения.
Вот мой код :
Код
If OptionButton31.Value = True Then
Worksheets("База общая").Range("A1:FA3863").AutoFilter Field:=72, Criteria1:="<>"
End If
В списке combobox'a обрезаются строки по вертикали
 
Добрый день!
Подскажите пожалуйста, почему данные выводятся таким образом? Пробовала расширить сам элемент combobox'a, остается прежним. Может можно как-то при помощи кода расширить ячейки выпадающего списка.
Изменено: noobie1 - 29.04.2020 22:54:42
Вывод значений в определенный диапазон
 
Сразу хочу сказать, что файл прикрепить нет возможности, так как он полностью состоит из конфи инфы и очень надеюсь что Вы меня поймете без него.
Добрый день.
Ситуация такая: необходимо выводить значения ячеек на лист с разных диапазонов с других листов:
1) берет уже сформированный список с тех листа(тех лист для нового профиля) - показатели работа с командой
2) ищет соответствия по заданному полю и выдает необходимые значения - бизнес-показатели
Код
Sub AllIndicators()
Range("H8:H388").ClearContents
Dim i As Range
Dim s1 As Integer
Dim s2 As Integer
s1 = 2
s2 = 8
With Sheets("тех лист для нового профиля").Range("B2:B50")
Sheets("профиль").Range("I8").Resize(.Rows.Count, .Columns.Count) = .Value 'тянет уже сформированный список с тех листа для нового профиля
End With
On Error GoTo errormsg
For Each i In Worksheets("Тех лист для бизнес-показателей").Range("A2:A79")
If Worksheets("профиль").Range("J4") = Worksheets("Тех лист для бизнес-показателей").Range("A" & s1) Then
Worksheets("профиль").Range("I" & s2) = Worksheets("Тех лист для бизнес-показателей").Range("B" & s1).Value 'ищет соответствие по полю J4 на листе профиль с A на листе Тех лист для бизнес-показателей, найдя выдает необходимое значение

s2 = s2 + 1
End If
s1 = s1 + 1
Next i
Exit Sub 
errormsg: 
MsgBox ("Не является руководителем") 
End Sub
Проблема в том, что я не могу поменять местами порядок вывода значения, мне сначала необходимо выводить бизнес, а потом уже работу с командой. Подскажите пожалуйста как это сделать.

Пробовала просто менять местами, но тогда он просто либо не выводит бизнес, либо накладывает бизнес на работу с командой.
Стоит отметить что количество бизнес-показателей динамично, и в зависимости от того, что будет в J4, он может вывести как 2 показателя, так и 22

И также хотелось сказать, что данный вопрос я задавала на другом форуме, где мне к сожалению не смогли помочь без документа
Изменено: noobie1 - 27.02.2020 09:49:09
Копирование значения содержимого ячейки по клику по ней
 
Добрый день. Есть код, который по нажатию на ячейку на листе Excel копирует ее содержимое и вставляет в другую ячейку(H6):
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim myRng As Range
Set myRng = Range("A8:F124")

If Not Application.Intersect(myRng, Range(Target.Address)) Is Nothing Then
Range("H6") = Range(Target.Address).Value
End If
End Sub
Подскажите пожалуйста, можно ли как-нибудь поставить ограничение, которое бы блокировало копирование значений в зависимости от того, что у меня написано.
Т.е., например у меня есть список: яблоки, грушки, помидоры, вишня. Мне нужно поставить ограничение на слово(комбинацию слов) помидоры.
Страницы: 1
Наверх