- 締切済み
【マクロ】クリックすると空白を含む列を非表示に
上司にExcelのデータが見づらいと言われて困っています。 下記のようなマクロやVBAを教えていただけないでしょうか? 例えば、 A2のセルをクリックすると、その行(2行目)から空白セルを検索して、そのセルを含む列を非表示にして、データが入っている列だけを表するようなマクロってないでしょうか? (要は、C2とE2が空白セルのとき、A2をクリックして、A/B/D/F~の列だけ表示されるようになるマクロです。 同様に3行目でも、空白セルがB3、C3なら、A3をクリックした時、A/D/E…列だけ表示されて、B・C列が非常時になるような。) 似たような機能があれば、A2クリックでなく別にボタン等を作っても構いません。 ややこしくて、申し訳ございませんが、本当に困っているので、 どうかよろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- mt2008
- ベストアンサー率52% (885/1701)
データのあるセルをさっと見たいと言う事ですよね? 単純にCtrl+↓ 等でデータのあるセルに飛ぶというのでは駄目ですか?
- xls88
- ベストアンサー率56% (669/1189)
>ANo.1のお礼 提示したマクロはシートのダブルクリックイベントを利用してマクロを起動します。 マクロ名は、一覧には表示されません。 コードをコピペした場所が違っていると思います。 標準モジュールではなく、シートモジュールにコピペしてください。 ANo.1にも書きましたが、 シート見出しを右クリック>コードの表示で、VBEがシートモジュールの画面で現れます。 提示したコードはあくまでサンプルです。使えるようなら改造して使ってください。
- xls88
- ベストアンサー率56% (669/1189)
該当シートの見出しを右クリックから「コードの表示」でVBEが起動します。 コードウインドウに下記コードをコピペしてブックを保存してください。 A列セルのダブルクリックでマクロが実行されます。 取りあえず、対象範囲はA列~E列にしてあります。 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Column <> 1 Then Exit Sub Cancel = True Columns("A:E").EntireColumn.Hidden = False On Error Resume Next Target.Resize(, 5).SpecialCells(xlCellTypeBlanks).EntireColumn.Hidden = True On Error GoTo 0 End Sub Excel(エクセル) VBA入門:ワークシートのイベント http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_event.html
お礼
早速のご返答ありがとうございます。 なのですが、誠に申し訳ございません。 Excel 2007なのですが、コードにコピペして保存し、いざマクロを実行しようとしても、マクロ名の一覧に何も表示されず、また、セルをダブルクリックしても、実行されません。 開発タブは表示していますし、セキュリティもマクロを有効にしているのですが…。 もし、実行する方法がお分かりでしたら、お教え頂けないでしょうか。 重ね重ね申し訳ございませんが、どうかよろしくお願い致します。