作者:乔山办公网日期:
返回目录:excel表格制作
自动调整合并单元格行高原型
原理是:
因为独立单元格设置了自动换行后,高度会自动变化,利用这个特点,将合并单元格的内容复制到一个独
立单元格,并将这个单元格格式设置成自7a64e4b893e5b19e331动换行,且其宽度设置为合并区域宽度
(
合并区域宽度
=
合并区域中各
列宽度之和
)
,再将此时独立单元格的行高值设置到合并区域所在的行即可。
运行条件:创建一个名字为
temp
的
Sheet
表单
,
将下内容粘贴到
Excel
模块中。
VBA
程序如下:
Sub main()
MergeCellAutoFit "sheet1", 6, 2
End Sub
Sub MergeCellAutoFit(sSheet As String, mRow As Integer, mCol As Integer)
Dim mWidth As Double
Dim mSt, mEd As Integer
If Sheets(sSheet).Cells(mRow, mCol).MergeCells Then
mSt = Sheets(sSheet).Cells(mRow, mCol).MergeArea.Column
mEd = mSt + Sheets(sSheet).Cells(mRow, mCol).MergeArea.Columns.Count() - 1
For i = mSt To mEd
mWidth = mWidth + Sheets(sSheet).Columns(i).ColumnWidth
Next i
Sheets("temp").Columns(1).ColumnWidth = mWidth + (mEd - mSt) * 0.6
With Sheets("temp").Range("A1")
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlTop
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Sheets(sSheet).Cells(mRow, mCol).Copy
Sheets("temp").Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks:=False, Transpose:=False
Sheets(sSheet).Rows(mRow).RowHeight = Sheets("temp").Rows(1).RowHeight
Sheets("temp").Columns(1).Delete
Else
MsgBox "
不是合并单元格!
"
End If
End Sub
选中合并的单元格。
开始菜单功能区-----格式-----行高/列宽。
EXCEL表格中,单个单元格的高度和宽度是百调整不了的,只能调整一列和一行,或者可以合并单元格调整大小度。
1、如图要修改这个单元的宽度和高度。
2、用鼠标左键点击顶部问的字母旁旁答的竖线,然后向右拖动。
3、把右侧的高度也用鼠标拖动调整。
4、调整后,单版个单元格的高度和宽度调整好了,只是垂直的一列和水平的一行都有改变权。
Excel合并单元格并设置它的高zhidao宽。
方法步骤如下:
1、打开需要操作的EXCEL表格,选中相关单元格,在开始选项卡中点击“合并后居中”。
2、点击开始选项卡中的“格式”并选择“行高”进行行高设置。回
3、在弹出的对话框答中,输入合适的行高数值,并点击确定按钮即可。
5、返回EXCEL表格,Excel合并单元格并设置它的高宽操作完成。