「Web出版サイト」ベータ公開

Q&A集[?]

当サイトでのご質問の受付は終了しました

すべてのコンテンツを読み込み専用としたため、回答欄からも投稿できません

Apache OpenOffice/LibreOfficeのご質問はそれぞれのフォーラムへご投稿ください

質問コーナー

サイト内検索

分類メニュー

関連サイト


本日:1
昨日:0
総数:2097
現在:1


マクロの書き換え

ページOpenOffice.org FAQの登録ページ
投稿者o-yasu
分類
edit/refer
優先順位
edit/refer
状態
edit/refer
カテゴリー
edit/refer
投稿日2010-05-08 17:00:04 (土)
OSWIN7
依存するページエクセルでタイムカードのようなシステムをつくりたい
バージョン
edit/refer

メッセージ

回答ページでは行末に「~」を付加する必要はありません

打刻時間をうまく記録してタイムカードのようなシステムを作りたいのですが、
エクセルで作るなら下記のようなマクロで作れると聞きました。

私はOOoで作りたいのですが、OOoBasicを使ったことがありません。
マクロを読み替えていただくことはできませんでしょうか。
よろしくねがいします。
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
If Target.Row > 1 Then
Target.Offset(0, 1) = Now
Target.NumberFormatLocal = "[$-F400]h:mm AM/PM"
End If
End If
End Sub

説明

If Target.Column = 1 Then ’A列を指定しています。「B列なら2」
If Target.Row > 1 Then ’1行目を除外。
Target.Offset(0, 1) = Now ’入力したセルの右隣に日時をセット「Target.Offset(0, 2)の場合、右に2つ隣となります」
Target.NumberFormatLocal = "[$-F400]h:mm AM/PM"’時刻書式を設定


過去の参考ページ

M.Kamataki (2010-05-08 18:12:50 (土))

現在の時刻の取得マクロは、過去のご質問 faq/4b/1023「現在時刻の入力について」で紹介されています。

「ツール」-「カスタマイズ」で「キーボード」タブを開いて、「Ctrl+Insert」キーなどにマクロを割りつけると、セルに現在時刻を入力する際、「Ctrl+Insert」を押下することで、現在時刻が取得できます。

マクロとイベント

M.Kamataki (2010-05-11 17:52:07 (火))

マクロを実行する動作をイベントと呼びます。たとえば、参考に紹介されたExcelのマクロは、1行目を除くA列の値が変化するというイベントが検知されたら、B列にマクロの結果を表示します。このようなExcelのWorksheet_Change()のCalcへの置換えはとてもとても大変だったりします。

これも過去のご質問のfaq/5/100「EXCEL2003VBA、オープンオフィス3.1で使えるようにしたい」をご覧ください。また、faq/5/107「EXCELマクロが、オープンオフィスで動かない?」という関連質問もあります。

先に書いたように、ショートカットキーへの割り当てなどが簡単です。

ありがとうございます

o-yasu (2010-05-27 14:04:36 (木))

返信遅くなりましたが、ありがとうございました。
まだ完成させられていませんが、チャレンジしていきたいと思います。

いったん完了にします

M.Kamataki (2010-05-27 18:22:19 (木))

コメントありがとうございます。

お名前:
題名: