2017-03-08 7 views
-2

私はヘルプを求めます。(VBA)を使用してExcelで選択した列を非表示にするボタン

ここは私のプロジェクトです。私は、このデータ

enter image description here

を持っているもの、私がやりたいことは2016年1月 に2010年1月から日と名付け、各列は、私が非表示にすることが想定再表示

するためのボタンを非表示し、ボタンを作ることです3月のすべての列は自動的に3月以外の列をすべて非表示にします。

私のコードには少し助けが必要です。これは、もしcell.entirecolumn.Hidden = cell.value = Range( "I1")がTrueならセルの値を持つ列が範囲内に隠れてしまいます。意味の範囲(「A1」)が再表示されますと、その後のすべての列が含まれていると非表示になりますされていないすべての列ならば...ここに私のコード

サブHide_Columns()範囲 アプリケーションとして 薄暗い細胞であること。 ( "A1:F1" ActiveSheet.UsedRange、レンジ())が交差内の各セルについては ScreenUpdating = Falseの cell.EntireColumn.Hidden = cell.Value =範囲( "I1")AND NOTのisEmpty(セル) 次電池 Application.ScreenUpdating = True End Sub

あなたがここに頼む前にGoogleを使用してみてください

サブShow_All_Columns() Columns.Hidden = Falseの End Subの

+1

最も簡単な方法(VBAなし)は、すべてのmarch列をグループ化し、[グループ化機能]の[1]と[2]ボタンを使用することです(https://support.office.com/en-us/article/Outline-group-in-a-worksheet-08CE98C4-0063-4D42-8AC7-8278C49E9AFF)を使用して視認性を切り替えます。 –

+0

このボタンは3月の可視性のみを切り替えますか?あなたはまだコードを書いていますか? – avb

+0

まだ、私はVBAプログラミングの初心者ですから..私はトグルグループ化機能は行のためだけに動作すると思います???私はまだ試していない... =).. – SANDY

答えて

0

Sub HideCols() 
    Columns("A:BZ").Select 
    Selection.EntireColumn.Hidden = True ''Hide 
End Sub 

Sub ShowCols() 
    Columns("A:BZ").Select 
    Selection.EntireColumn.Hidden = False ''Unhide 
End Sub 

、その後if文で、いくつかのColumns("A:BZ").Selectをパラメータ: 私はあなたがこれを始めることができると思います。最後に、2つのSubを呼び出すボタンを追加します。

+0

または両方のプロシージャを1行で表示します: 'Columns(" A:BZ ")EntireColumn.Hidden = Not Columns(" A:BZ ") EntireColumn.Hidden' –

+0

ありがとうございます。 – SANDY

+0

ありがとうございます。私のコードのために少し助けが必要です。これは、もしcell.entirecolumn.Hidden = cell.value = Range( "I1")がTrueならセルの値を持つ列が範囲内に隠れてしまいます。範囲( "A1")にAが含まれている場合、Aを含むすべての列が表示されず、すべての列が非表示になります...ここにコードがあります – SANDY

関連する問題