Здравствуйте! возникла проблема с кодом. задача: растянуть текст в пустых ячейках. Но когда растягивается во 2м столбце "уровень", то в 5 строчку (начальную) вставляется "знак",который идет после пустых строчек. "Знак" растягивается нормально. Надо, чтобы в 5 строчке осталось то слово, которое растягивается в первый раз, а не копировалось с другого конца последнее слово для растягивания. Файл эксель прилагается, там две таблицы, где показано что получается при этом коде:
[vba]
Код
Sub растягивание1() Dim i& For i = 5 To Sheets("Лист1").Cells(Rows.Count, 1).End(xlUp).row Sheets("Лист2").Cells(i, 2) = Sheets("Лист2").Cells(5, 2) If Sheets("Лист2").Cells(i + 1, 2) <> "" Then Sheets("Лист2").Cells(5, 2) = Sheets("Лист2").Cells(i + 1, 2) i = i + 1 End If Next i End Sub
[/vba]
Заранее спасибо!
Здравствуйте! возникла проблема с кодом. задача: растянуть текст в пустых ячейках. Но когда растягивается во 2м столбце "уровень", то в 5 строчку (начальную) вставляется "знак",который идет после пустых строчек. "Знак" растягивается нормально. Надо, чтобы в 5 строчке осталось то слово, которое растягивается в первый раз, а не копировалось с другого конца последнее слово для растягивания. Файл эксель прилагается, там две таблицы, где показано что получается при этом коде:
[vba]
Код
Sub растягивание1() Dim i& For i = 5 To Sheets("Лист1").Cells(Rows.Count, 1).End(xlUp).row Sheets("Лист2").Cells(i, 2) = Sheets("Лист2").Cells(5, 2) If Sheets("Лист2").Cells(i + 1, 2) <> "" Then Sheets("Лист2").Cells(5, 2) = Sheets("Лист2").Cells(i + 1, 2) i = i + 1 End If Next i End Sub
Sub ttt() On Error Resume Next: Err.Clear With Range("H12:I21") 'Изначальная таблица .SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C" .Value = .Value End With End Sub
[/vba]
alcomtght, привет попробуйте так: [vba]
Код
Sub ttt() On Error Resume Next: Err.Clear With Range("H12:I21") 'Изначальная таблица .SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C" .Value = .Value End With End Sub