Доброго времени суток.
В общем есть такая проблемка: есть большая таблица в экселе, в которой столбцами забиты данные. При попытке сортировать данные, эксель ругается, что ячейки разного размера.
Автоматом записал макрос, который разбивает объединенные ячейки, добавляет столбец "Примечание", переносит из разъединенных столбцов содержимое в ячейку столбца примечание и объединяет столбцы чтобы все ячейки в строке были одинаковыми.
Теперь вопрос: как изменить макрос чтобы он автоматом изменил всю таблицу, а не только то, что я изменил, т.е. первые две строки?
Код:
Sub Макрос1()
'
' Макрос1 Макрос
' Макрос записан 31.08.2006 (user)
'
'
Selection.EntireColumn.Insert
Columns("I:I").ColumnWidth = 22.43
Range("I1").Select
ActiveCell.FormulaR1C1 = "Примечание"
With ActiveCell.Characters(Start:=1, Length:=10).Font
.Name = "Arial Cyr"
.FontStyle = "полужирный"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = 2
End With
Range("E4:H4").Select
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With
Selection.UnMerge
Range("E4").Select
Selection.Cut Destination:=Range("I3")
Range("E3:E4").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Selection.Merge
Range("F3:F4").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Selection.Merge
Range("G3:G4").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Selection.Merge
Range("H3:H4").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Selection.Merge
Range("I3:I4").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Selection.Merge
End Sub
просто сам я не программист и поэтому сам исправить как надо не могу :-(
Данные для сортировки начинаются с 3 строки. 1,2 строка - это шапка.