вопос по пользоват. форме
Модератор: Naeel Maqsudov
Здравствуйте! У меня вопрос:
По пользовательской форме: есть некая форма (см. файл, Лист2). Можно ли в ней реализовать следующее: в полях "от" и "до" я ввожу некоторые значения, на основании этих значений производится условное форматирование столбца допустим "H" (числа меняют цвет). И еще: можно ли фильтровать данные также по условию (если значения находятся в диапазоне "От" и "До" для зеленых, желтых и красных соответственно). Активным может быть только один цвет (при выделении checkbox-а) Заранее спасибо.
P.S. У меня есть более простой вариант: полями для "от" и "до" сделать ячейки (в файле Лист1). Это конечно, проще, но к сожалению, к моему файлу это не подходит.
По пользовательской форме: есть некая форма (см. файл, Лист2). Можно ли в ней реализовать следующее: в полях "от" и "до" я ввожу некоторые значения, на основании этих значений производится условное форматирование столбца допустим "H" (числа меняют цвет). И еще: можно ли фильтровать данные также по условию (если значения находятся в диапазоне "От" и "До" для зеленых, желтых и красных соответственно). Активным может быть только один цвет (при выделении checkbox-а) Заранее спасибо.
P.S. У меня есть более простой вариант: полями для "от" и "до" сделать ячейки (в файле Лист1). Это конечно, проще, но к сожалению, к моему файлу это не подходит.
- Вложения
-
- вопрос по форме.zip
- (35.47 КБ) 25 скачиваний
А что Вам мешает самому воспользоваться решениями пршлой Вашей темы? Мне кажется её можно взять за основу, добавив чек-боксы.
Наверное Вы меня не совсем поняли: меня интересует как (если это возможно) брать данные для условия которые я введу в поля для "От" и "До" (см. файл Лист2)? Например закрасить зеленым шрифт в ячейках столбца "H" если они находятся в диапазоне... (и значения условия берутся из полей "От" и "До" которые соответствует зеленой фигуре (кнопке)). С чек-боксами вроде все понятно.Dim_ok писал(а):А что Вам мешает самому воспользоваться решениями пршлой Вашей темы? Мне кажется её можно взять за основу, добавив чек-боксы.
Да я Вас прекрасно понял, потому и сослался на прошлый Ваш вопрос. Например, Вы пропишете рекодером макрос автофильтра:
Теперь подправте его под Ваши "от" и "до"
Теперь можно в А1 и В1 вставлять любые "от" и "до", запускать макрос и всё
Код: Выделить всё
Range("E5:F30").Select
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlBetween, _
Formula1:="100", Formula2:="300"
With Selection.FormatConditions(1).Font
.Bold = True
.Italic = False
.ColorIndex = 3
End With
Код: Выделить всё
Range("E5:F30").FormatConditions.Delete
Range("E5:F30").FormatConditions.Add Type:=xlCellValue, Operator:=xlBetween, _
Formula1:=Range("A1"), Formula2:=Range("B1")
With Range("E5:F30").FormatConditions(1).Font
.Bold = True
.Italic = False
.ColorIndex = 3
End With
Dim_ok писал(а):Да я Вас прекрасно понял, потому и сослался на прошлый Ваш вопрос. Например, Вы пропишете рекодером макрос автофильтра:Теперь подправте его под Ваши "от" и "до"Код: Выделить всё
Range("E5:F30").Select Selection.FormatConditions.Delete Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlBetween, _ Formula1:="100", Formula2:="300" With Selection.FormatConditions(1).Font .Bold = True .Italic = False .ColorIndex = 3 End With
Теперь можно в А1 и В1 вставлять любые "от" и "до", запускать макрос и всёКод: Выделить всё
Range("E5:F30").FormatConditions.Delete Range("E5:F30").FormatConditions.Add Type:=xlCellValue, Operator:=xlBetween, _ Formula1:=Range("A1"), Formula2:=Range("B1") With Range("E5:F30").FormatConditions(1).Font .Bold = True .Italic = False .ColorIndex = 3 End With
Ок, это понятно. Посмотрите пожалуйста в том файле (в последнем) Лист2. Там нет ячеек "А1" и "В2". Там есть форма, а в ней есть поля ("TextBox"-ы). Так вот значения чтобы брались из "TextBox"-ов. Это возможно?
-
- Сообщения: 526
- Зарегистрирован: 04 фев 2007, 18:37
- Откуда: Сургут
- Контактная информация:
Здравствуйте pushkar.
Можно "руками" в свойстве контрола "LincedCell" установить адрес связанной ячейки.
Или программно:
Прочесть содержимое TextBox и использовать рекомендацию от Dim_ok:Евгений.
Можно "руками" в свойстве контрола "LincedCell" установить адрес связанной ячейки.
Или программно:
Код: Выделить всё
Sub LinkBox()
Dim i%
For i = 1 To 3
ActiveSheet.OLEObjects("TextBox" & i + 3).LinkedCell = "E" & 10 + i
ActiveSheet.OLEObjects("TextBox" & i).LinkedCell = "F" & 10 + i
Next
End Sub
Код: Выделить всё
dataBox2 = ActiveSheet.OLEObjects("TextBox2").Object.Text
... Formula2:=dataBox2...
Спасибо всем за помощь, завтра разберусь