Top > OOobbs3 > 118

OOobbs3/118 Edit

  • サマリ: セルの変更時イベント
  • 環境: Basic
  • 状態: 解決
  • 投稿者: うこ?
  • 投稿日: 2014-02-10 (月) 01:01:00

質問 Edit

OOoバージョン→4.0.0 OS→Mac

Calcで簡単な在庫表のようなものを作成しています。 シート①…商品在庫の一覧表 シート②…出荷・入荷の入力表

「シート②で入力した商品の数量分がシート①の在庫数から増減する」というものを作っていますが、マクロの書き方がわからずここに質問させていただきました。

以下マクロのコード(途中まで)↓

Sub XXX

Dim Ship As Object '出荷数量の列 Dim Arr As Object '入荷数量の列 Dim Selected As Object '選択中のセル

Ship = ThisComponent.Sheets(0).getColumns().getByIndex(1) Arr = ThisComponent.Sheets(0).getColumns().getByIndex(10)

シート②のB列が出荷数量、K列が入荷数量を入力する列になってます。 このあとIf文で選択中のセルがどちらの範囲にあるか判定して、それによって①の在庫を増減…という風に書きたいのですが、「If Selected = Arr Then」と書くとエラーになってしまいます(当たり前ですが;) 正しい書き方を教えてください・・・。

まだOpenOfficeを使い始めたばかりでメソッド名・プロパティ名もよく分からず、もし参考になる初心者用のサイト様とかもありましたらぜひお教えください!m(__)m 分かりにくい文章で申し訳ないですが、よろしくお願いいたします!

回答 Edit

  • カラム同士では比較できません。セルの値を取得してください。セルの値 参照。サイトについては、最近は検索するよりも自分でドキュメントを読んだ方が早いので紹介できそうにありません。 -- はにゃ? 2014-02-10 (月) 15:00:18
  • 迅速なご回答をありがとうございます! -- うこ 2014-02-11 (火) 00:58:48
  • カラム同士の比較は不可ということですが、「現在選択しているセルがどの列にあるか」ということも調べることは不可能なのでしょうか??重ね重ねすみません(><;) -- うこ 2014-02-11 (火) 01:00:53
  • getRangeAddress メソッドの返り値から行と列のインデックスが取得できます。 -- はにゃ? 2014-02-14 (金) 23:32:56
  • できました!ありがとうございます!! -- うこ 2014-02-18 (火) 12:16:49

感想,コメント,メモ Edit



Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup   Help   RSS of recent changes