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

Q&A集[?]

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

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

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

質問コーナー

サイト内検索

分類メニュー

関連サイト


本日:1
昨日:0
総数:1189
現在:4


CALCマクロでのセル内数式指定について

ページOpenOffice.org FAQの登録ページ
投稿者MITU
分類
edit/refer
優先順位
edit/refer
状態
edit/refer
カテゴリー
edit/refer
投稿日2009-09-15 09:41:04 (火)
OSWIN XP
依存するページ
バージョン
edit/refer

メッセージ

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

下記のマクロプログラムを実行したところ うまく表示されません。

Option VBASupport 1
Sub Main
 Sheets("勤務表").Cells(1,1)= "午前"
 Sheets("勤務表").Cells(1,2) = "=IF(A1=""午前"";""AM"";""AMではない"")"
End Sub

上記マクロでは、

(1)セルA1に”午前”と表示させ、同時にセルB1にAMと表示させるマクロです。
(2)しかしながら、実行時にはセルB1に数式が表示され、セルB1セルをアクティブにしたのちさらにセル内でカーソルを左にずらす、改行すると、正しく表示されます。
(3)実行時と同時にセルB1に”AM”と表示させたいのですが・・・・・

よろしくお願いします。


無題

tani (2009-09-15 10:44:16 (火))

以下でいかがでしょうか。

Option VBASupport 1
Sub Main
 Sheets("勤務表").Cells(1,1)= "午前"
 Sheets("勤務表").Cells(1,2).Formula = "=IF(A1=""午前"";""AM"";""AMではない"")"
End Sub

うまくいきました

(2009-09-15 12:39:52 (火))

ご回答ありがとうございました

省略しないで書く

M.Kamataki (2009-09-15 14:25:33 (火))

CalcでVBAを扱う際は、なるべく「省略しないで書く」のが良いと聞いたことがあります。

Sheets("勤務表").Cells(1,1).Value= "午前"

とか。癖になるくらいにならないと。

ただ、動作についてはまだまだ試行錯誤しないといけないかもしれません。

taniさんのコードで動作を確認しましたので完了にしておきます。

お名前:
題名:


添付ファイル: fileTEST.ods 581件 [詳細]