有一个可以变通的方法。就是把你要合并的" />
乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > excel<em>合并单元格</em>里如何设置自动调整行高?声明:是合并的单...-excel

excel<em>合并单元格</em>里如何设置自动调整行高?声明:是合并的单...-excel

作者:乔山办公网日期:

返回目录:excel表格制作


去这里下载zd一个宏,加载后即可
http://dl.vmall.com/c0r0pevewp

有一个可以变通的方法。就是把你要合并的单元格分开不要搞成合并单元格的格式,然后把需要的单元格全部选中:设置单元格格式→对齐→水平对齐→跨列居中,再勾选自动换行就可以达到效果了。
  1. 判断一个单元格内的字符串长度用Len函数,用法如下:

    s = Len(Range("A1").Text)

    这里的s就表示字符串有多少个字符组成的。

  2. 判断选中的单元格是由几个小格子组成的可以这样

    比如:

  3. Sub yy()
        [h6:k8].Merge   '将h6:k8区域合并单元格
        [h6].Select     '选中H6:k8这个合并单元格
        MsgBox Selection.Count   '通过Selection.Count这个命令就可以得到选中的这个区域的单元格数目
    End Sub
  4. 让单元格自动调整行高,用AutoFit,自动适应方法,用法如下: 

  5. Sub xx()
        Range("A1:F6").Rows.AutoFit
    End Sub



自动调整合并单元格行高原型
  
  原理是:
  
  因为独立单元格设置了自动换行后,高度会自动变化,利用这个特点,将合并单元格的内容复制到一个独
  立单元格,并将这e799bee5baa6e79fa5e98193e59b9ee7ad94331个单元格格式设置成自动换行,且其宽度设置为合并区域宽度
  (
  合并区域宽度
  =
  合并区域中各
  列宽度之和
  )
  ,再将此时独立单元格的行高值设置到合并区域所在的行即可。
  
  运行条件:创建一个名字为
  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

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网