返回列表 上一主題 發帖

儲存格每一列固定文字大小

儲存格每一列固定文字大小

各位先進:
              請幫忙更改以下程式碼,文字每列固定大小。謝謝
                  
Sub S()
Sheet1.Range("A1").Value = Space(4) & Sheet2.Range("A1") _
  & Chr(10) & Space(4) & Sheet2.Range("A2") _
  & Chr(10) & Space(4) & Sheet2.Range("A3") _
& Chr(10) & Space(4) & Sheet2.Range("A4") _
& Chr(10) & Space(4) & Sheet2.Range("A5") _
& Chr(10) & Space(4) & Sheet2.Range("A6") _

With Sheet1.Range("A1")
.Characters(1, 160).Font.Name = "標楷體" '因資料來源字數會增減,所以下方式不能讓
.Characters(1, 25).Font.Size = 22        '每一列固定文字大小,有其方式固定一列文字
.Characters(26, 46).Font.Size = 12       '大小
.Characters(47, 83).Font.Size = 16
.Characters(84, 106).Font.Size = 12
.Characters(107, 130).Font.Size = 16
.Characters(131, 150).Font.Size = 7
End With
End Sub

Book1.rar (7.3 KB)

感謝kimbal 版主大力協助測試後陣列索引超出範圍,可否再幫個忙修正。謝謝
      Sub h()
  Dim strstr As Variant

    Dim size As Variant
    size = Array(22, 12, 16, 12, 16, 7)
    strstr = Sheet2.Range("A1:A6").Value
   
    If UBound(strstr) <= 0 Then
        Exit Sub
    End If
      
    Sheet1.Range("A1").Value = Space(4)
    For i = 1 To UBound(strstr)
        Sheet1.Range("A1").Value = Sheet1.Range("A1").Value & strstr(i, 1) & Chr(10) & Space(4)
    Next
    Sheet1.Range("A1").Value = Left(Sheet1.Range("A1").Value, Len(Sheet1.Range("A1").Value) - 5)
    j = 4
   
    For i = 1 To UBound(strstr)
        Sheet1.Range("A1").Characters(j, j + Len(strstr(i, 1)) + 5).Font.size = size(i)
        j = j + Len(strstr(i, 1)) + 6
    Next
   
End Sub

TOP

感謝hsieh 協助經測試完成符合需求,收下好好學習,以上感謝二位版主。

TOP

謝謝二位協助再就教一個問題,換列間隔大小現是依上一列文字大小而定,可以做到自定換列間隔大小嗎?

TOP

        靜思自在 : 稻穗結得越飽滿,越會往下垂,一個人越有成就,就要越有謙沖的胸襟。
返回列表 上一主題