MacのためのExcelのマクロ
他のシートの値が変更されたときにシートを隠すことを目的としたマクロを書きました.私の意図は、条件付きで適用可能な特定の分野を隠す/表示することです.私は単一のシートの特定の列で同じことをする必要があります.
コードはエディタでそれを実行するときに機能しますが、Excelで直接値を変更したときではありません.私はあらゆる助けが大まかに感謝されるでしょう.これがコード:
ですサブhide_rr_tabs()
ケースワークシート(「設定」)を選択してください.範囲( "d11")value
ケース「いいえ」
ワークシート( "MF Rent Roll")Visible= false
ワークシート( "MF RR RAW")Visible= false
ワークシート(「レンタルロール」)Visible= True
ワークシート( "RR RAW")Visible= true
ケース「はい」
ワークシート( "MF Rent Roll")Visible= true
ワークシート( "MF RR RAW")Visible= true
ワークシート(「レンタロール」)Visible= False
ワークシート( "RR RAW")Visible= false
終了
終了SUB
返信リスト(回答:12)
HANSV-マクロでいくつかの奇妙な行動を見ています.エディタとファイルの両方を保存し、ファイルを再度開くだけで断続的に機能します.値を1回変更できますが、別のタブをクリックせずに2回目にはなりません.私がこれをしたら
数回、それはちょうどうまく機能し始めます.考え?
応答7# ->にスキップ6 #HansVMVそれは奇妙なことです-それはサンプルワークブックで私のために失敗することなく機能します.
ワークブックのストリップダウンコピー(機密情報なし)を作成し、
OneDrive
、Google Drive、FileDropper、またはファイルをアップロードして共有できるWebサイトの1つを通して使用できます.ドロップボックス.それからにリンクを投稿してください
ここにアップロードして共有ファイル.
応答6# ->にスキップ5 #JohnMahこれがリンクです-セルC11のマルチファミリとセルC11の他の選択肢の間で切り替える場合は、レンタロールとMFレンタロールの間でレンタリングロールページが変更されます.ダッシュボードページの列を非表示にするためのコードを追加しました.
私が見ているのは、最初の変更がうまくいくことですが、その後の変更は私が別のタブをクリックするまで実行されてはいけません.後でうまく機能します.それがウォームアップする必要があるようなようです.
応答5# ->にスキップ3 #HansVMVおそらくそれはWindowsのためのExcelとMacのExcelの違いです-あなたのワークブックのコードは私のために完全にWindowsのために完全に機能します.
Macの専門家が見てください.
応答3# ->にスキップ2 #JohnMah非常に奇妙な-私がそれから切り替えたときではなく、「マルチファミリー」に切り替えると遅延/ハングが発生しているようです.私はマシンを再起動しました、そしてそれはまだそれをやっています.Excelの専門家のためのMacに着くのやり、それはあなたの以前の結果として来るでしょうか
応答2# ->にスキップ1 #HansVMVMac ExpertのExcelがこのスレッドを読み、返信することを願っています.
次の24時間ほどの反応がない場合は、注意を引くために新しいスレッドを始めます.
Visual Basic Editorの[プロジェクトエクスプローラ]windows で、[Microsoft Excelオブジェクト]の下の設定シートをダブルクリックします.
次のコードをワークシートモジュールにコピーします.
プライベートサブワークシート(範囲としてのBYVALターゲット)
交差しない場合(範囲( "D11")、ターゲット)は
application.enableEvents= false
ケース範囲(「D11」)を選択してください.値
ケース「いいえ」
ワークシート(「MF賃貸ロール」).Visible= false
ワークシート( "MF RR RAW")Visible= false
ワークシート(「レンタルロール」)Visible= true
ワークシート( "RR RAW")Visible= true
ケース「はい」
ワークシート(「MFレンタルロール」)Visible= true
ワークシート( "MF RR RAW")Visible= true
ワークシート(「レンタルロール」)Visible= false
ワークシート( "RR RAW")Visible= false
終了
application.enableEvents= true
の場合は終了
終了SUB
応答11# ->にスキップ12 #JohnMahワークシートモジュールでは、個々のシートのコード(この場合は設定)を意味します.私はこれをしました、そしてそれは仕事をしませんでした.コードを踏み込もうとすると、ダイアログボックスのようにビープ音が開きますが、1つが表示できません.何かご意見は?
応答12# ->にスキップ10 #HansVMVはい、それが私が意味するものです.サンプルワークブックを参照してください https://www.dropbox.com/s/1mduqwrspgngx5t/rr_tabs.xlsm?dl=1
応答10# ->にスキップ9 #JohnMahHANSV-どうもありがとうございました.これは今働いています.あなたのための最後の質問:はい/いいえをチェックするのではなく、コードをチェックして= "マルチファミリー"または<>"マルチファミリーをチェックするのでしょうか.
応答9# ->にスキップ8 #HansVMV 1それは
ですプライベートサブワークシート(範囲としてのBYVALターゲット)
交差しない場合(範囲( "D11")、ターゲット)は
application.enableEvents= false
ケース範囲(「D11」)を選択してください.値
ケース「マルチファミリー」
ワークシート(「MF賃貸ロール」).Visible= false
ワークシート( "MF RR RAW")Visible= false
ワークシート(「レンタルロール」)Visible= true
ワークシート( "RR RAW")Visible= true
ケース
ワークシート(「MFレンタルロール」)Visible= true
ワークシート( "MF RR RAW")Visible= true
ワークシート(「レンタルロール」)Visible= false
ワークシート( "RR RAW")Visible= false
終了
application.enableEvents= true
の場合は終了 終了SUB
関連質問
- 並べ替え時にindex +一致する
- Excel Tools.
- 5文字以上のセル内のテキストのみを表示する
- VBA Excel for Mac 2011&2016:Set X= Application.FileDialog(MSOFILEDIALOGOPEN)に失敗する
- VBA Word、Information()ランタイムエラー4608範囲外の値
- Excel 2010で働いていますが、Excel 2016で働いていません
- VBAコードのヘルプが必要です.
- ランタイムエラー1004範囲クラスのAutoFillメソッド失敗しました
- 垂直方向にリストされている大量のエントリが必要な場合は、過去のトランスポーズ機能の進行方法(Excel 2016の列)