ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

¦X¨ÖÀx¦s®æ¦Û°Ê½Õ¾ã¦C°ª°ÝÃD

¦^´_ 1# hugh0620


    ÁÂÁ«e½úµoªí¦¹¥DÃD»P½d¨Ò
«á¾ÇÂǦ¹©«½m²ßVBA,¾Ç²ß¤è®×¦p¤U,½Ð«e½ú°Ñ¦Ò
°õ¦æ«e:


°õ¦æµ²ªG:


Option Explicit
Sub Test()
Dim i&, ii&, Rah, xR As Range
For i = [C65536].End(3).Row To 1 Step -1
   If Cells(i, 3).MergeArea.Count > 1 And Cells(i, 3) <> "" Then
      Set xR = Cells(i, 3).MergeArea
      For ii = 2 To Cells(i, 3).MergeArea.Count
         Rah = Rah + xR(ii).RowHeight
      Next
      Cells(i, 3).UnMerge
      Rows(i).AutoFit
      xR.Merge
      Rows(i).RowHeight = Rows(i).RowHeight - Rah
      Rah = 0
   End If
Next
End Sub
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

¥»©«³Ì«á¥Ñ Andy2483 ©ó 2024-5-17 08:36 ½s¿è

¦^´_ 3# hugh0620


    ÁÂÁ«e½ú¦^´_
«á¾Ç­×§ï¤è®×¦p¤U,½Ð«e½ú°Ñ¦Ò
°õ¦æ«e:


°õ¦æµ²ªG:


Option Explicit
Sub TEST_RxC()
Dim i&, ii&, Rah, CaW, xR As Range, R&, cW, cW1, C%, N
N = 1 '¦pªG«á¤è¦h¥XªÅ¥ÕN­È§ï¤j¨Ò¦p:1.2,¦pªG«á¤è¦r¤¸³Q¾B¦íN­È§ï¤p¨Ò¦p:0.8
For i = 1 To [C65536].End(3).MergeArea.Row
   If Cells(i, 3).MergeArea.Count > 1 And Cells(i, 3) <> "" Then
      Set xR = Cells(i, 3).MergeArea
      C = xR.Columns.Count
      R = xR.Rows.Count
      cW1 = xR(1).Columns.ColumnWidth
      For ii = 1 To C
         CaW = CaW + xR(ii).Columns.ColumnWidth
      Next
      For ii = 2 To R
         Rah = Rah + xR(ii).Rows.RowHeight
      Next
      xR.UnMerge
      xR(1).Columns.ColumnWidth = CaW + xR.Font.Size / CaW * N
      Rows(i).AutoFit
      xR.Merge
      xR(1).Columns.ColumnWidth = cW1
      xR(1).Rows.RowHeight = xR(1).Rows.RowHeight - Rah + xR.Font.Size * 0.5
      Rah = 0: CaW = 0
   End If
Next
End Sub
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

¦^´_ 4# hugh0620


    ÁÂÁ«e½ú¤À¨É,³o½d¨Ò®¼½ÆÂøªº,®¥³ß¯à¶¶§Q¸Ñ¨M
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

        ÀR«ä¦Û¦b : ¤£­n¤p¬Ý¦Û¤v¡A¦]¬°¤H¦³µL­­ªº¥i¯à¡C
ªð¦^¦Cªí ¤W¤@¥DÃD