2017-07-15 170 views
0

我有一個Excel電子表格,在單元格A1中帶有文本「Hello,this is a long line of text」。我選擇了單元格A1:G1。MS Excel VBA找到使用「Center across Selection」水平對齊格式化的範圍

我知道如果我在宏中使用行Selection.HorizontalAlignment = xlCenterAcrossSelection,它將使用水平文本對齊選項「居中選擇中心」來格式化所選單元格。

如何寫一個函數來完成相反的操作,即給定單元格A1,返回範圍A1:G1?

+0

正確enuneration目前還不清楚什麼是返回A1的標準:G1給出A1 ?具有「中心」格式的連續單元格塊?沒有差距,只有一列寬? –

回答

0

這裏是一個開始:

Public Function CAS(r As Range) As String 
    Dim i As Long, rng As Range 
    CAS = "" 

    If r.HorizontalAlignment H<> 7 Then Exit Function 
    Set rng = r 

    For i = 1 To Columns.Count 
     If r.Offset(0, i).HorizontalAlignment <> 7 Then 
      CAS = rng.Address(0, 0) 
      Exit Function 
     Else 
      Set rng = Union(rng, r.Offset(0, i)) 
     End If 
    Next i 
End Function 

這假定是從你的問題了HorizontalAlignment