ActiveCell , Offset(Column, Row) , セル.Activate

エクステンションの作成、共用ライブラリ
返信する
K.Tsunoda
記事: 71
登録日時: 11月 2, 2008, 6:44 pm
連絡する:

ActiveCell , Offset(Column, Row) , セル.Activate

投稿記事 by K.Tsunoda »

VBAの下記を代替する関数です。
・ Range("A1:C5").Offset(3, 4)
・ ActiveCell
・ ActiveCell.Offset(1, 0).Activate
・ セル.Activate


GetOffsetRange 関数 ( 2009/8/17 Ver 1.1 )
http://blog.livedoor.jp/addinbox/archives/51248924.html

コード: 全て選択

Sub Main1
Dim oSelection As Object
Dim oRange As Object

  oSelection = ThisComponent.CurrentSelection
  oRange = GetOffsetRange(oSelection, -1, 1, True)
  'oRange = GetOffsetRange(oSelection, -1, 1, False)
   If Not (oRange Is Nothing) Then
    MsgBox Join(Split(oSelection.AbsoluteName, "$"),"") & chr(13) & _
           Join(Split(oRange.AbsoluteName, "$"),"")
  Else
    MsgBox "Nothing"
  End If
End Sub
GetActiveCell 関数 ( 2009/8/17 Ver 1.1 )
ActiveCellOffset 関数 ( 2009/8/2 Ver 1.0 )
http://blog.livedoor.jp/addinbox/archives/51248934.html

コード: 全て選択

Sub Main1
Dim i As Integer
Dim oCell As Object
  oCell = GetActiveCell()
  If (oCell Is Nothing) Then
    MsgBox "other object is selected"
    Exit Sub
  End If
  
  For i = 1 to 10
    oCell.String = Join(Split(oCell.AbsoluteName, "$"),"")

   '[ ActiveCell.Offset(1, 0).Activate ]
    oCell = ActiveCellOffset(0, 1)    '(Column, Row)
    Wait 500
  Next i
End Sub
CellActivate サブルーチン ( 2009/8/3 Ver 1.0 )
http://blog.livedoor.jp/addinbox/archives/51248934.html

コード: 全て選択

Sub Main1
Dim oCell As Object
  oCell = ThisComponent.Sheets(1).getCellRangeByName("B8")
  Call CellActivate(oCell)
End sub

AddinBox/VBAユーザーの為のOpenOffice.org 備忘録 『ユーザー定義関数の一覧
http://blog.livedoor.jp/addinbox/archives/51249421.html
K.Tsunoda
記事: 71
登録日時: 11月 2, 2008, 6:44 pm
連絡する:

Re: ActiveCell , Offset(Column, Row) , セル.Activate バージョンアップ 案内

投稿記事 by K.Tsunoda »

GetOffsetRange 関数と GetActiveCell 関数について、
下記「行 & 列オブジェクト」への対応が抜けていたので追加しました
ScTableRowObj , ScTableColumnObj
ScTableRowsObj , ScTableColumnsObj
返信する

“コードスニペット(便利な汎用コード)”に戻る