龙空技术网

「Excel」一行一行地调整行高太麻烦了……

圣创杂学堂 5369

前言:

而今各位老铁们对“excel2003行高换算厘米”大体比较注意,看官们都需要学习一些“excel2003行高换算厘米”的相关资讯。那么小编同时在网络上汇集了一些有关“excel2003行高换算厘米””的相关资讯,希望同学们能喜欢,姐妹们一起来学习一下吧!

常在Excel走,哪有不调行高?

如果是碰到这种情况:

处女座的你是否会关掉、删了它?

其他星座呢?嘴上笑嘻嘻,心里MMP地也要忍痛把格式调好...

接下来就教大家怎么简单又快速地调整行高吧。

1、自动调整行高

Excel的单元格有“自动调整行高”和“自动调整列宽”的模式,方法就是把鼠标放在需要调整的单元列(行)边上,当鼠标变成【十】时,双击,就可以了。

2、批量调整

上面的方法只适用于不含【合并单元格】的表格,如果表格中包含了【合并单元格】,则无法通过【自动调整】来实现

如上图那样,根本【自动】不了。。。

所以还是只能用【宏】了,代码如下:

Sub My_MergeCell_AutoHeight()

Dim rh As Single, mw As Single

Dim rng As Range, rrng As Range, n1%, n2%

Dim aw As Single, rh1 As Single

Dim m$, n$, k

Dim ir1, ir2, ic1, ic2

Dim mySheet As Worksheet

Dim selectedA As Range

Dim wrkSheet As Worksheet

Application.ScreenUpdating = False

Set mySheet = ActiveSheet

On Error Resume Next

Err.Number = 0

Set selectedA = Application.Intersect(ActiveWindow.RangeSelection, mySheet.UsedRange) '返回重叠range

selectedA.Activate

If Err.Number <> 0 Then

g = MsgBox("请先选择需要'最合适行高'的行!", vbInformation)

Return

End If

selectedA.EntireRow.AutoFit

Set wrkSheet = ActiveWorkbook.Worksheets.Add '创建个临时sheet来折腾

For Each rrng In selectedA

If rrng.Address <> rrng.MergeArea.Address Then '找出合并单元格

If rrng.Address = rrng.MergeArea.Item(1).Address Then '合并单元格第一格与地址对应

'If (Application.Intersect(selectedA, rrng).Address <> rrng.Address) Then

' GoTo gotoNext

'End If

Dim tempCell As Range

Dim width As Double

Dim tempcol

width = 0

For Each tempcol In rrng.MergeArea.Columns

width = width + tempcol.ColumnWidth

Next

wrkSheet.Columns(1).WrapText = True

wrkSheet.Columns(1).ColumnWidth = width

wrkSheet.Columns(1).Font.Size = rrng.Font.Size

wrkSheet.Cells(1, 1).Value = rrng.Value

wrkSheet.Activate

'wrkSheet.Cells(1, 1).RowHeight = 0

wrkSheet.Cells(1, 1).EntireRow.Activate

wrkSheet.Cells(1, 1).EntireRow.AutoFit

mySheet.Activate

rrng.Activate

If (rrng.RowHeight < wrkSheet.Cells(1, 1).RowHeight) Then

Dim tempHeight As Double

Dim tempCount As Integer

Dim addHeightRow

tempHeight = wrkSheet.Cells(1, 1).RowHeight + 10 '自动调整后行高+10

tempCount = rrng.MergeArea.Rows.Count '多行合并单元格的行数

For Each addHeightRow In rrng.MergeArea.Rows '选区中每个row赋值

If (addHeightRow.RowHeight < tempHeight / tempCount) Then

addHeightRow.RowHeight = tempHeight / tempCount

End If

tempHeight = tempHeight - addHeightRow.RowHeight

tempCount = tempCount - 1

Next

End If

End If

Else

If rrng.WrapText = True Then '非合并单元格、自动换行

rrng.RowHeight = rrng.RowHeight + 3 '非合并行+3,以适应打印

End If

End If

Next

Application.DisplayAlerts = False '删除工作表警告提示

wrkSheet.Delete

Application.DisplayAlerts = True

Application.ScreenUpdating = True

End Sub

效果如下:

3、添加到按钮功能

①新建一个空白文档:

②复制上面的宏,粘贴:

③保存成【Excel97-2003加载宏(*.xla)】

这时它的路径会自动变成【C:\Users\Administrator\AppData\Roaming\Microsoft\AddIns】

然后改个容易辨识的名字:

保存。

④在【加载项】里找到它

Excel2007~2016:【开始】-【Excel选项】-【加载项】-【转到】

Excel2013~2016:还可以【开发工具】-【Excel加载项】

⑤添加自定义按钮

以后打开其他表格都会有这个按钮了

文件已经上传网盘,下载后直接放在:

C:\Users\Administrator\AppData\Roaming\Microsoft\AddIns

然后在Excel选择【加载项】即可找到它

在后台回复Excel行高即可获取上述的.xla文档

原创不易,转载请保留出处。

标签: #excel2003行高换算厘米 #excel2013行高怎么设置成厘米 #excel2003行高怎么设置成厘米 #excel2003行高设置成厘米 #excel2013设置行高和列宽