tft每日頭條

 > 生活

 > excel如何行高設定成同樣的

excel如何行高設定成同樣的

生活 更新时间:2024-10-21 06:41:00

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

如果是碰到這種情況:

excel如何行高設定成同樣的(一行一行地調整行高太麻煩了)1

處女座的你是否會關掉、删了它?

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

excel如何行高設定成同樣的(一行一行地調整行高太麻煩了)2

接下來就教大家怎麼簡單又快速地調整行高吧。

1、自動調整行高

Excel的單元格有“自動調整行高”和“自動調整列寬”的模式,方法就是把鼠标放在需要調整的單元列(行)邊上,當鼠标變成【十】時,雙擊,就可以了。

excel如何行高設定成同樣的(一行一行地調整行高太麻煩了)3

2、批量調整

上面的方法隻适用于不含【合并單元格】的表格,如果表格中包含了【合并單元格】,則無法通過【自動調整】來實現

excel如何行高設定成同樣的(一行一行地調整行高太麻煩了)4

如上圖那樣,根本【自動】不了。。。

所以還是隻能用【宏】了,代碼如下:

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

效果如下:

excel如何行高設定成同樣的(一行一行地調整行高太麻煩了)5

3、添加到按鈕功能

①新建一個空白文檔:

excel如何行高設定成同樣的(一行一行地調整行高太麻煩了)6

②複制上面的宏,粘貼:

excel如何行高設定成同樣的(一行一行地調整行高太麻煩了)7

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

excel如何行高設定成同樣的(一行一行地調整行高太麻煩了)8

這時它的路徑會自動變成【C:\Users\Administrator\AppData\Roaming\Microsoft\AddIns】

然後改個容易辨識的名字:

excel如何行高設定成同樣的(一行一行地調整行高太麻煩了)9

保存。

④在【加載項】裡找到它

Excel2007~2016:【開始】-【Excel選項】-【加載項】-【轉到】

excel如何行高設定成同樣的(一行一行地調整行高太麻煩了)10

excel如何行高設定成同樣的(一行一行地調整行高太麻煩了)11

excel如何行高設定成同樣的(一行一行地調整行高太麻煩了)12

Excel2013~2016:還可以【開發工具】-【Excel加載項】

excel如何行高設定成同樣的(一行一行地調整行高太麻煩了)13

excel如何行高設定成同樣的(一行一行地調整行高太麻煩了)14

⑤添加自定義按鈕

excel如何行高設定成同樣的(一行一行地調整行高太麻煩了)15

excel如何行高設定成同樣的(一行一行地調整行高太麻煩了)16

excel如何行高設定成同樣的(一行一行地調整行高太麻煩了)17

excel如何行高設定成同樣的(一行一行地調整行高太麻煩了)18

以後打開其他表格都會有這個按鈕了

文件已經上傳網盤,下載後直接放在:

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

然後在Excel選擇【加載項】即可找到它

在後台回複Excel行高即可獲取上述的.xla文檔

原創不易,轉載請保留出處。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved