アプリ版:「スタンプのみでお礼する」機能のリリースについて

Excelシートを開いたとき
1.月曜日なら、セルA2に”こんにちは”
2.火曜日なら、セルA2に”ごきげんよう”
上記のように表示をさせるためのマクロをご教示ください。
表示先セルは固定で、月~金まで違う文章が入るようにしたいです。
よろしくお願いいたします。

質問者からの補足コメント

  • 無知でもうしわけござません。
    担当変わって引き継いだシートですが、壊れているところが多く修正が必要となり急いでおります。

      補足日時:2024/01/26 09:19

A 回答 (2件)

こんにちは



>壊れているところが多く修正が必要となり急いでおります。
マクロでなければならない理由があるのでしょうか?
後のメンテ等を考慮すると、少しはわかるかも知れない(?)関数等でも良さそうな気がします。

お門違いかも知れませんが、そのような例をふたつほど。
マクロでなければならない場合は、以下は無視してください。

1)表示文言リストを作成しておく方法
・どこかのセル範囲に日曜~土曜に表示する内容のリストを作成しておきます。
 (ご質問は月~金ですので、日、土のセルは空白にしておきます)
・そのセル範囲に名前を付けておきます(例えば「文言リスト」)
・リストはどこでも良いですが、邪魔なら非表示のシートにしておいても良いです
・ご質問のA2セルに
  =INDEX(文言リスト,WEEKDAY(TODAY()))&""
 の関数式を入れておけば、ご質問のように表示されます。
※ リストのセル範囲に名前を付けずに直接セル範囲を指定しても同じです。

2)一つの式にまとめてしまう方法
・意味合い的には上記と同様ですが、リストを作成せずに一つの式に全部をまとめてしまう方法です。
・A2セルに
 =CHOOSE(WEEKDAY(TODAY()),"","月こんにちは","火","水","木","金","")
 の式を入力します。
※ サンプルなので、「月こんには、火、水・・・」としてありますが、
 それぞれの文字列を表示したい内容に替えれば良いです。
※ 文言が長いと関数式も長くなりますが、当該セルだけで完結します。
    • good
    • 0
この回答へのお礼

ありがとう

回答ありがとうございます。
そもそもVBAで既成するシートでして、どうせならとVBAで作成する予定
でおりました。
大変参考になりました。
ありがとうございます。

お礼日時:2024/01/26 13:16

文法的に必要なのは以下3つかな。



1)配列に初期値設定する関数
Array("日曜日", "こんにちは", "ごきげんよう", ・・・・・・

2)セルに代入
Range("A2").Value =

3)きょうが何曜日(何番目の曜日)なのか
Weekday(Now - 1)
    • good
    • 0
この回答へのお礼

ありがとう

オープンイベントにArrayは使用しませんでしたがどうにか作成できました。
ありがとうございます。

お礼日時:2024/01/26 13:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A