Function SubRangeOf(wRng As Range, wBgnRow As Long, wBgnCol As Long, Optional wEndRow As Long = 0, Optional wEndCol As Long = 0) As Range
' wRng.Cells(wBgnRow, wBgnCol)~wRng.Cells(wEndRow, wEndCol) の範囲を返す。
' wEndRow、wEndCol を省略すると wRng の右下までを返す。
Set SubRangeOf = Nothing
If ((wEndRow <= 0) Or (wEndRow > wRng.Rows.Count)) Then wEndRow = wRng.Rows.Count
If ((wEndCol <= 0) Or (wEndCol > wRng.Columns.Count)) Then wEndCol = wRng.Columns.Count
If ((wBgnRow <= wEndRow) And (wBgnCol <= wEndCol)) Then
Set SubRangeOf = wRng.Offset(wBgnRow - 1, wBgnCol - 1).Resize(wEndRow - wBgnRow + 1, wEndCol - wBgnCol + 1)
End If
End Function
使い方 :
set RepoWindow = Range("C16:P25")
'RepoWindow の2行目の5列目から右下までをクリア
SubRangeOf(RepoWindow , 2, 5).ClearContents
0 件のコメント:
コメントを投稿