Dirk Diggler
02-04-2010, 07:11
Есть объединенная ячейка, которую хотелось бы разъединить так, чтобы исходное значение скопировалось во все результирующие ячейки.
Для простоты возьмем, что объединены они только в одном столбце и не более чем по 10 ячеек
Написал макрос:
Sub UnmergeCells()
Dim iROW As Integer, iColumn As Integer, sTMP As String, i As Integer, s As Object
Application.ScreenUpdating = False
s = ActiveCell.Cells
For iROW = 0 To 10
ActiveWorkbook.ActiveSheet.Cells(s.Row + iROW, s.Column).MergeArea.UnMerge
Next iROW
s.Select
'Range("A3").Select
iROW = 1
Do While Not IsEmpty(ActiveCell)
i = iROW - 1
If ActiveCell.Offset(iROW, 0).Value = "" Then
ActiveCell.Offset(iROW, 0).Value = s.Value
End If
iROW = iROW + 1
ActiveCell.Offset(1, 0).Select
Loop
End Sub
Ругается object variable or with block variable not set
Где ошибся? Может, у кого готовое решение есть, задача-то известная...
Для простоты возьмем, что объединены они только в одном столбце и не более чем по 10 ячеек
Написал макрос:
Sub UnmergeCells()
Dim iROW As Integer, iColumn As Integer, sTMP As String, i As Integer, s As Object
Application.ScreenUpdating = False
s = ActiveCell.Cells
For iROW = 0 To 10
ActiveWorkbook.ActiveSheet.Cells(s.Row + iROW, s.Column).MergeArea.UnMerge
Next iROW
s.Select
'Range("A3").Select
iROW = 1
Do While Not IsEmpty(ActiveCell)
i = iROW - 1
If ActiveCell.Offset(iROW, 0).Value = "" Then
ActiveCell.Offset(iROW, 0).Value = s.Value
End If
iROW = iROW + 1
ActiveCell.Offset(1, 0).Select
Loop
End Sub
Ругается object variable or with block variable not set
Где ошибся? Может, у кого готовое решение есть, задача-то известная...