Board logo

標題: [發問] 如何利用WrapText屬性並增加Chr(10) [打印本頁]

作者: dechiuan999    時間: 2012-5-10 08:57     標題: 如何利用WrapText屬性並增加Chr(10)

本帖最後由 dechiuan999 於 2012-5-10 09:06 編輯

各位大大好:
在指定的Range欄
作者: Hsieh    時間: 2012-5-10 12:33

回復 1# dechiuan999 [code]Option Explicit

Sub aa()
   
    Dim mSht1 As Worksheet
    Dim mRng As Range, mRng1 As Range, i%, Mystr$
   
    Set mSht1 = Worksheets(1)
    With mSht1
        Set mRng = .Range("a1:a7")
        .Columns("i").ColumnWidth = 10
        For Each mRng1 In mRng
        Mystr = mRng1.Value
        For i = 2 To Len(Mystr) - Len(Replace(Mystr, " ", ""))  '第二個以後的空白鍵開始取代
            Mystr = Application.Substitute(Mystr, " ", Chr(10), i)
        Next
            mRng1.Offset(, 8).Value = Mystr
            mRng1.Offset(, 8).WrapText = True     '利用WrapText屬性
作者: dechiuan999    時間: 2012-5-10 20:43

謝謝版主大大。

正符合小弟的須求。
感恩版主大大。
作者: icestormer    時間: 2012-5-11 08:33

本帖最後由 icestormer 於 2012-5-11 08:43 編輯

回復 3# dechiuan999

我把超版的程式小小改了二個小地方後 居然會出現 只要遇到空格就會斷行了
,這是一邊學習超版提供的給你的程式碼中(substitute還是剛才去查才知道那是什麼作用.)不小心試出來的

原本超版的會在第二個空格後才會斷行 改成下方後會從第一個空格就開始斷了,不知這是不是你要的
    Sub aa()
   
    Dim mSht1 As Worksheet
    Dim mRng As Range, mRng1 As Range, i%, Mystr$
   
    Set mSht1 = Worksheets(1)
    With mSht1
        Set mRng = .Range("a1:a7")
        .Columns("i").ColumnWidth = 10
        For Each mRng1 In mRng
              Mystr = mRng1.Value

            For i = 0 To Len(Mystr) - Len(Replace(Mystr, " ", ""))   '這裡迴圈也由2改為0開始
          ' For i = 2 To Len(Mystr) - Len(Replace(Mystr, " ", ""))   '第二個以後的空白鍵開始取代
                             Mystr = Application.Substitute(Mystr, " ", Chr(10)) '跟超版的只有差在這裡少一 "i"
                            ' Mystr = Application.Substitute(Mystr, " ", Chr(10), i)
            Next
                            mRng1.Offset(, 8).Value = Mystr
                           mRng1.Offset(, 8).WrapText = True     '利用WrapText屬性<<<<  不過這裡有一個問題 我試過不管有沒有這行 ,怎看起來效果一樣呢?
        Next '
   End With
        
End Sub
作者: Hsieh    時間: 2012-5-11 08:46

回復 4# icestormer


    Substitute函數,指定最後一個引數才能針對該字元作取代
忽略該引數則是全部取代
所以你忽略那個 i 就不必使用迴圈,可以一次全部取代
作者: icestormer    時間: 2012-5-12 10:37

回復 5# Hsieh


   原來如此. 受教了




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)