'rgStart 単一セル 'horv 縦か横か、デフォルト縦 '戻り値 ' 縦の場合 0→エラー ' 横の場合 ""→エラー Public Function getBounce(ByRef rgStart As Range, Optional ByVal horv As String = "V") As String Dim blnVertical As Boolean Dim rgBounce As Range blnVertical = IIf(UCase(horv) = "H", False, True) If blnVertical Then Set rgBounce = rgStart.Worksheet.Range(ConvertToLetter(rgStart.Column) & rgStart.Worksheet.Rows.Count).End(xlUp) If rgStart.Cells.Count > 1 Then getBounce = IIf(blnVertical, 0, "") Exit Function End If If rgStart.Value = "" And rgBounce.Row <= rgStart.Row Then getBounce = 0 Else getBounce = rgBounce.Row End If Exit Function Else Set rgBounce = rgStart.Worksheet.Range(ConvertToLetter(rgStart.Worksheet.Columns.Count) & rgStart.Row).End(xlToLeft) If rgStart.Value = "" And rgBounce.Column <= rgStart.Column Then getBounce = "" Else getBounce = ConvertToLetter(rgBounce.Column) End If Exit Function End If End Function Function ConvertToLetter(iCol As Integer) As String ConvertToLetter = Split(Cells(1, iCol).Address, "$")(1) End Function
2012年8月15日水曜日
あるセルにとって、最終行、列を返す
ラベル:
vba
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿