• 締切済み

【マクロ】クリックすると空白を含む列を非表示に

上司にExcelのデータが見づらいと言われて困っています。 下記のようなマクロやVBAを教えていただけないでしょうか? 例えば、 A2のセルをクリックすると、その行(2行目)から空白セルを検索して、そのセルを含む列を非表示にして、データが入っている列だけを表するようなマクロってないでしょうか? (要は、C2とE2が空白セルのとき、A2をクリックして、A/B/D/F~の列だけ表示されるようになるマクロです。 同様に3行目でも、空白セルがB3、C3なら、A3をクリックした時、A/D/E…列だけ表示されて、B・C列が非常時になるような。) 似たような機能があれば、A2クリックでなく別にボタン等を作っても構いません。 ややこしくて、申し訳ございませんが、本当に困っているので、 どうかよろしくお願いいたします。

みんなの回答

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.3

データのあるセルをさっと見たいと言う事ですよね? 単純にCtrl+↓ 等でデータのあるセルに飛ぶというのでは駄目ですか?

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.2

>ANo.1のお礼 提示したマクロはシートのダブルクリックイベントを利用してマクロを起動します。 マクロ名は、一覧には表示されません。 コードをコピペした場所が違っていると思います。 標準モジュールではなく、シートモジュールにコピペしてください。 ANo.1にも書きましたが、 シート見出しを右クリック>コードの表示で、VBEがシートモジュールの画面で現れます。 提示したコードはあくまでサンプルです。使えるようなら改造して使ってください。

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.1

該当シートの見出しを右クリックから「コードの表示」で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

ibarahime
質問者

お礼

早速のご返答ありがとうございます。 なのですが、誠に申し訳ございません。 Excel 2007なのですが、コードにコピペして保存し、いざマクロを実行しようとしても、マクロ名の一覧に何も表示されず、また、セルをダブルクリックしても、実行されません。 開発タブは表示していますし、セキュリティもマクロを有効にしているのですが…。 もし、実行する方法がお分かりでしたら、お教え頂けないでしょうか。 重ね重ね申し訳ございませんが、どうかよろしくお願い致します。

関連するQ&A