* CALCマクロでのセル内数式指定について [#xf021c7d]
 |RIGHT:|LEFT:|c
 |~ページ|[[OpenOffice.org FAQの登録ページ]]|
 |~投稿者|MITU|
 |~分類|#listbox3(Q&A,faq03,class)|
 |~優先順位|#listbox3(緊急,faq03,priority)|
 |~状態|#listbox3(回答中,faq03,state)|
 |~優先順位|#listbox3(重要,faq03,priority)|
 |~状態|#listbox3(完了,faq03,state)|
 |~カテゴリー|#listbox3(Calc 表計算,faq03,category)|
 |~投稿日|2009-09-15 09:41:04 (火)|
 |~OS|WIN XP|
 |~依存するページ||
 |~バージョン|#listbox3(3.1.1,faq03,version)|
 
 ** メッセージ [#na2114e3]
 |LEFT:|c
 |回答ページでは行末に「~」を付加する必要はありません|
 下記のマクロプログラムを実行したところ
 うまく表示されません。
 
  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”と表示させたいのですが・・・・・
 
 よろしくお願いします。
 
 
 
 ----
 ***無題 [#ye5cd5a2]
 >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
 
 //
 ***うまくいきました [#wcfbbb20]
 > (2009-09-15 12:39:52 (火))~
 ~
 ご回答ありがとうございました~
 
 //
 ***省略しないで書く [#b328248a]
 >M.Kamataki (2009-09-15 14:25:33 (火))~
 ~
 CalcでVBAを扱う際は、なるべく「省略しないで書く」のが良いと聞いたことがあります。~
  Sheets("勤務表").Cells(1,1).Value= "午前"
 とか。癖になるくらいにならないと。~
 ~
 ただ、動作についてはまだまだ試行錯誤しないといけないかもしれません。~
 ~
 taniさんのコードで動作を確認しましたので完了にしておきます。~
 
 //
 #article