Есть макрос:
Private Sub ToggleButton1_Click()
Dim i As Integer, j As Integer, x As Range
Application.ScreenUpdating = False: j = ActiveSheet.Index - 1
For i = 1 To Sheets.Count
j = j + 1: If j > Sheets.Count Then j = j - Sheets.Count
Set x = Sheets(j).Cells.Find(TextBox1.Text, , xlValues, xlWhole)
If Not x Is Nothing Then Sheets(j).Select: x.Select: Range(x.End(xlToLeft), x.End(xlToRight)).Interior.ColorIndex = 4: Exit For
Next
End Sub
Макрос находит искомое значение и когда значение найдено, он расширяет диапазон ячеек по строке влево и вправо "Range(x.End(xlToLeft), x.End(xlToRight))". Только проблема в том, что он расширяет не до конца а только если все ячейки слева и справа заполнены какими либо значениями. Из приложенного рисунка видно, что строки где есть пустые ячейки выделены не до конца (кроме третей строки где все значения заполнены). Мне нужно чтобы он выделял всю используемую область в строке. Как это сделать?
EntireRow не предлагать:)
Спасибо
Private Sub ToggleButton1_Click()
Dim i As Integer, j As Integer, x As Range
Application.ScreenUpdating = False: j = ActiveSheet.Index - 1
For i = 1 To Sheets.Count
j = j + 1: If j > Sheets.Count Then j = j - Sheets.Count
Set x = Sheets(j).Cells.Find(TextBox1.Text, , xlValues, xlWhole)
If Not x Is Nothing Then Sheets(j).Select: x.Select: Range(x.End(xlToLeft), x.End(xlToRight)).Interior.ColorIndex = 4: Exit For
Next
End Sub
Макрос находит искомое значение и когда значение найдено, он расширяет диапазон ячеек по строке влево и вправо "Range(x.End(xlToLeft), x.End(xlToRight))". Только проблема в том, что он расширяет не до конца а только если все ячейки слева и справа заполнены какими либо значениями. Из приложенного рисунка видно, что строки где есть пустые ячейки выделены не до конца (кроме третей строки где все значения заполнены). Мне нужно чтобы он выделял всю используемую область в строке. Как это сделать?
EntireRow не предлагать:)
Спасибо