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

VBAでチェックボックスにチェックが入ると和暦表示に、
チェックを外すと西暦に切り替わるVBAを組みたいのですがどなたかご教示ください。
※列はK列の8行目から同列100行目までを対象と考えております。

A 回答 (3件)

1.以下のマクロを標準モジュールに登録してください。



Option Explicit

Sub チェック1_Click()
Dim ws As Worksheet
Dim rng As Range
Set ws = Worksheets("名簿")
Set rng = ws.Range("B8:B100")
If ws.Range("B3").Value = True Then
rng.NumberFormatLocal = "[$-ja-JP-x-gannen]ggge""年""m""月""d""日"";@"
Else
rng.NumberFormatLocal = "yyyy""年""m""月""d""日"";@"
End If
End Sub

2.チェックボックスを シート:名簿 上に登録してください。
そして、マクロの登録(N)で、チェック1_Click を選択してください。

3.コントロールの書式設定(F)で、リンクするセルの位置を指定してください。
セル位置の指示がなかったので、マクロではB3を使っています。
もし、他のセルにするなら、以下のようにしてください。
例 B3でなくH3にしたいなら
If ws.Range("B3").Value を
If ws.Range("H3").Value に変えてください。

4.リンクするセル(例ではB3)をマウスを当て、右クリックして、セルの書式設定(F)
で、フォントタブをクリックし、色で白を選択してください。

以上で完了です。
    • good
    • 1
この回答へのお礼

ご回答ありがとうございました!
また、記載いただいたマクロの詳細非常に勉強になりました。
今回いただいたマクロで運用してみようと思います。
また何かあれば宜しくお願いいたします。

お礼日時:2023/07/13 09:10

補足要求です。


1.西暦の場合、2023/1/1は、どのように表示されれば良いですか。
2023年1月1日 と表示されれば良いですか。

2.和暦の場合、2023/1/1は、どのように表示されれば良いですか。
令和5年1月1日 と表示されれば良いですか。

3.添付図のように、チェックのON/OFFをすると、特定のセルがTRUE/FALSEに変わります。マクロでは、このセルの内容をみて、チェックのON/OFFを判断します。添付図ではB3が対象のセルとなっています。
このセルは、コントロールの書式設定ー>リンクするセル
であなたが指定する必要があります。
どのセルにしますか。

4.対象となるシートのシート名は、何でしょうか。
「エクセルでフォームのチェックボックスを使」の回答画像2
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます!
>1.西暦は20○○年○月○日でかまいません。
>2.和暦は令和○年○月○日でかまいません。
>3.可能であればチェックボックスを配置したセルにリンクをしてTRUE/FALSEは白フォントにして非表示っぽくしたいです。
>4.シート名はとりあえず”名簿”で結構です。
宜しくお願いします。

お礼日時:2023/07/12 09:17

こんにちは



チェックボックスはシート上にフォーム要素を置いているものと解釈しました。

VBAでの回答ではありませんけれど・・
 1)チェックボックスのリンクセルを設定しておきます。
 (例えば、チェックボックスのあるセルなど)
 2)日付の記入されているセルに条件付き書式を設定します。
 (チェックされていたら、和歴表示にする条件付き書式)
上記で、チェックに連動して、自動的に表示内容が変化するようになります。


VBAで行いたいのであれば、チェックボックスのclickイベントに同様の内容を記述すればよいです。
書式を変更する部分に関しては、「マクロの記録」等を活用すれば、ほぼそのまま使えるものを得られるでしょう。
これをチェックの状態によって、設定し分ければ宜しいでしょう。
    • good
    • 2
この回答へのお礼

ご回答ありがとうございます!
ご教示いただいた方法で一度やってみたいと思います。
ちなみにVBAで記述する場合、どのような記述となるかお時間ある時で構いませんので参考までに教えていただけますと幸いです。

お礼日時:2023/07/12 09:11

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