![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
エクセルで、ある申込用紙のフォーマットを作成しています。
3種類の書式があるのですが、ブックやシートを増やしたくありません。
つまり1シートだけで書式を切り替えて、入力や印刷を行えるようにしたいのです。
具体的には、
A1セルにて、プルダウンメニューまたはラジオボタン等で、
「書式1」「書式2」「書式3」が選択できるようにします。
そして、例えばですが、
11行目~20行目には書式1で使う申込用紙の表
21行目~30行目には書式2で使う申込用紙の表
31行目~40行目には書式3で使う申込用紙の表
を作成しておいて、
書式1を選択すると、自動的に「書式2」「書式3」が非表示になれば良いと思っています。
書式3に変更すると、「書式3」を表示し、「書式1」「書式2」が非表示になれば良いと思っています。
これを手動でオートフィルタをかけるような操作感ではなく、
書式を選ぶ1操作だけで、パッとフォーマットが切り替わるように見せたいです。
どんな方法があるでしょうか?
No.1ベストアンサー
- 回答日時:
こんにちは!
VBAになりますが、一例です。
>A1セルにて、プルダウンメニュー・・・
とします。
シートモジュールにしてください。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim myRng As Range, myAry
myAry = Array("書式1", "書式2", "書式3")
If Target.Address = "$A$1" Then
ActiveSheet.Rows.Hidden = False
If Target <> "" Then
Select Case Target
Case "書式1"
Set myRng = Range("A21:A40")
Case "書式2"
Set myRng = Range("A11:A20,A31:A40")
Case "書式3"
Set myRng = Range("A11:A30")
End Select
myRng.EntireRow.Hidden = True
Else
ActiveSheet.Rows.Hidden = False
End If
End If
End Sub
こんな感じではどうでしょうか?m(_ _)m
ありがとうございます!
私も質問した後、自分なりに調べて以下のシートモジュールを考えたところでした。
tom04さんの考え方に近いと思うのですが、違いが分かりません。
まだ私は経験も浅く、使えそうなものを切り貼りしてるレベルです。
目的通りに動作すれば一緒かもしれませんが、ああした方が良い、こうした方が良い等ご意見いただければ助かります。
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Cells(1, 1).Value
Case "書式1"
Rows("11:20").Hidden = False
Rows("21:30").Hidden = True
Rows("31:40").Hidden = True
Case "書式2"
Rows("11:20").Hidden = True
Rows("21:30").Hidden = False
Rows("31:40").Hidden = True
Case "書式3"
Rows("11:20").Hidden = True
Rows("21:30").Hidden = True
Rows("31:40").Hidden = False
End Select
End Sub
No.4
- 回答日時:
それぞれの書式って似たような感じなのでしょうか?ひとつのシートに複数の様式を作ると列幅の調整がやりにくくなるので、それなりの見た目を求めるのであれば、方眼紙的なシートになりがちなので、個人的には避けたいです。
普通に、書式毎にシートを分けて作って、表示するシートを切り替えた方が良いのではないでしょうか。選択していないシートは非表示にするとか、シートタブを非表示にするとか、見た目は変えられると思います。
シートを選択するプルダウンだけ同じ位置に作っておけば、操作した感じも変わらないと思いますよ。
アドバイスありがとうございます。
今回は、それぞれ似たような書式です。行を使い分けたい感じです。
また、一部の表は共通だったりします。
質問としては、書式1,2,3で分割した表現をしてますが、実際には1,2,3ともに使用する行があったりします。
その共通の表はたまに数式や表記を見直す事が想定されるので、シートに分かれていると不都合で、共有したいのです。
でも、いただいたアドバイスは別の機会に活用できそうです。
No.2
- 回答日時:
こんにちは
>どんな方法があるでしょうか?
と言いながら、ご自分で「マクロ」と決めているのでは?
ちなみに、こんな方法もあるけれど・・・?
(一番下に、ツールバーに組み込む方法も出ています。)
http://www.atmarkit.co.jp/fwin2k/win2ktips/368ex …
ありがとうございます。
メールで送る、ネット配信でダウンロードしてもらう、等でこのファイルを受け取った人が、
迷わず入力できるようにしたいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel VBA 書式変更で困ってます。 オートフィルターの日付フィルターを用いて データの絞り込 2 2022/07/26 22:16
- Excel(エクセル) エクセルの数式で教えてください。 1 2022/10/25 09:26
- Excel(エクセル) エクセルで条件付き書式を使わずにセルの文字の色を変える方法を教えて下さい 8 2023/07/28 01:15
- Excel(エクセル) マクロだと数式が表示される 2 2022/09/10 14:48
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
- 仕事術・業務効率化 文書作成の際の書体や書式について 1 2022/08/29 10:01
- Visual Basic(VBA) エクセル365のVBAで困っています。どう修正したらよいか添削をお願いします 2 2023/05/03 17:35
- Excel(エクセル) エクセルで重複データを行ごとに抽出したい 4 2022/12/05 08:18
- Visual Basic(VBA) vbaで条件付き書式を設定したときの適用範囲について 1 2023/07/17 23:14
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IFとIFS関数
-
Excelを無料で使うには? パソ...
-
セルの数を求めたい
-
Excelの表示についての質問
-
再質問です。マクロの修正箇所...
-
データチェックを行うエクセル...
-
エクセルで「ページレイアウト...
-
エクセルの数式バーのフォント...
-
エクセルの関数について教えて...
-
エクセルでセルに標準で入力さ...
-
Microsoft1Officeの互換ソフト...
-
シフト表をエクセルで作るとき...
-
ユーザー定義関数をアドイン登...
-
Excel VBAで全ての矢印を赤色に...
-
VBA Private Sub Worksheet_Cha...
-
2列に入っているデータを1列...
-
Excelに詳しい方! B列が「日...
-
excel2013 MonthDays 関数が使...
-
エクセルのクイックアクセスツ...
-
Excelの数式について教えてくだ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
半角カタカナをヘボン式ローマ...
-
(マクロ)vlookupの元データを同...
-
エクセルで上位バイトのセルと...
-
exselの質問です
-
Excel 大小比較演算子による「...
-
Excel VBについての質問です。
-
エクセルの問題です。絶対値の...
-
非表示列の再表示に失敗
-
職場の人から聞かれており、こ...
-
Excel関数-文字列で自動作成さ...
-
Excelデータをコピペして、ペー...
-
ユーザー定義関数をアドイン登...
-
【マクロ】for next構文について
-
エクセルの日付を編集する
-
【マクロ】VLOOKUPにて参照元に...
-
exselで最小数で並び替える関数
-
libre 表計算ソフトの計算がう...
-
エクセルで表
-
エクセルの表で1年間の曜日を...
-
西暦和暦
おすすめ情報