Страницы: 1
RSS
Заполнение UserForm по условию поиска. VBA
 
Здравствуйте, подскажите, как сделать, чтобы при запуске формы производился поиск значений с определенным цветом в диапазоне A7:A и  ListBox заполнялся найденными значениями.
И второе, чтобы при клике по найденным значениям в списке ListBox происходил переход к ячейке с таким значением.

Код
Private Sub ListBox1_Change()
      ListBox1.Clear

   j = 0
   
      For i = 7 To Cells(Rows.Count, 1).End(xlUp).Row
          If Cells(i, 1).Font.Color = RGB(255, 0, 0) Then
             ListBox1.AddItem i
             ListBox1.List(j, 1) = Cells(i, 1)
             j = j + 1
          End If
      Next
      Exit Sub
   End If

End Sub

Private Sub ListBox1_Click()
    If ListBox1.ListIndex = -1 Then Exit Sub
    Cells(ListBox1.Value, 1).Select
End Sub


Такой код не работает.
 
В ЛистБокс добавьте второй столбец. Первый скройте (ширина = 0). Удалите процедуру ListBox1_Change и вместо неё используйте эту:
Код
Private Sub UserForm_Initialize()
Dim i As Long, j As Long
    For i = 7 To Cells(Rows.Count, 1).End(xlUp).Row
        If Cells(i, 1).Font.Color = RGB(255, 0, 0) Then
           ListBox1.AddItem i
           ListBox1.List(j, 1) = Cells(i, 1)
           j = j + 1
        End If
    Next
End Sub
 
Спасибо, работает!
 
Добрый день! А если часть текста в ячейке красным а часть черным? Как сделать чтобы он это значение помещал в ListBox1. Например:
текст1 45
Страницы: 1
Наверх