Здравствуйте, При попытке добавления в таблицу со слитыми ячейками колонок слева и справа часто возникают проблемы связанные с тем, что ячейкам колонки присваивается ширина соседних ячеек. Соответственно, если ширина у них разная - таблица разлетается в столбчатую диаграмму. Вот код, для добавления колонки справа, только до конца не работает возникает ошибка. Подправьте пожалуйста. [vba]
Код
Private Sub Колонку_справа() 'Вставить колонку справа ' If Selection.Range.Information(wdWithInTable) = False Then Exit Sub With Selection.Tables(1) TblRowsNumber = .Rows.Count NewColumnWidth = InputBox$("Введите ширину в мм" & vbCrLf & "для добавления колонки справа", _ "Добавить колонку в таблицу", _ NewColumnWidth) If Val(NewColumnWidth) = 0 Then Exit Sub For i = 1 To TblRowsNumber LastColNum = .Rows(i).Cells.Count .Rows(i).Cells(LastColNum).Select Selection.MoveRight Selection.InsertCells ShiftCells:=wdInsertCellsShiftRight 'добавляем ячейку Selection.Cells.Width = NewColumnWidth 'здесь метит все желтым и добавляется только одна ячейка вместо столбца справа Next End With Selection.MoveDown End Sub
[/vba]
Здравствуйте, При попытке добавления в таблицу со слитыми ячейками колонок слева и справа часто возникают проблемы связанные с тем, что ячейкам колонки присваивается ширина соседних ячеек. Соответственно, если ширина у них разная - таблица разлетается в столбчатую диаграмму. Вот код, для добавления колонки справа, только до конца не работает возникает ошибка. Подправьте пожалуйста. [vba]
Код
Private Sub Колонку_справа() 'Вставить колонку справа ' If Selection.Range.Information(wdWithInTable) = False Then Exit Sub With Selection.Tables(1) TblRowsNumber = .Rows.Count NewColumnWidth = InputBox$("Введите ширину в мм" & vbCrLf & "для добавления колонки справа", _ "Добавить колонку в таблицу", _ NewColumnWidth) If Val(NewColumnWidth) = 0 Then Exit Sub For i = 1 To TblRowsNumber LastColNum = .Rows(i).Cells.Count .Rows(i).Cells(LastColNum).Select Selection.MoveRight Selection.InsertCells ShiftCells:=wdInsertCellsShiftRight 'добавляем ячейку Selection.Cells.Width = NewColumnWidth 'здесь метит все желтым и добавляется только одна ячейка вместо столбца справа Next End With Selection.MoveDown End Sub
Вот кажется поймал ошибку. смотрите файл примера и скрин с ошибкой. Должен быть столбец, а получается ячейка справа. При этом ошибка выполнения кода. Скрины ошибок в следующем файле так как к одному посту ограничение 100Кб.
Вот кажется поймал ошибку. смотрите файл примера и скрин с ошибкой. Должен быть столбец, а получается ячейка справа. При этом ошибка выполнения кода. Скрины ошибок в следующем файле так как к одному посту ограничение 100Кб.Otter