非表示シートを操作するとエラーになる対処方法【Excel VBA】

Excel VBAにおいて、エラーにならずに非表示シートを操作する方法を説明しています。

エラーになる原因

エラーになる原因は、操作するシートがプログラムで選択できない状態(非表示)となっているために起こります。

  • 操作するときに表示化して、操作後に非表示化する
    →一時的に表示化されるものの、結果的には非表示となる
  • 非表示シートを選択せずに、セルを直接参照する
    →シート自体を参照するのではなく、値のみを参照する
    ※シート自体の操作が必要な場合は、使えない方法

次にサンプルコードを説明します。

エラーの対処方法

シートの表示/非表示を切り替える

操作時のみ表示化することで、エラーを回避する方法です。

サンプルコードの流れは、以下のようになっています。

  • 操作したいシートを表示化
  • シートを選択
  • (必要な操作)
  • 操作していたシートを非表示化
With Worksheets("非表示シート")
  .Visible = True
  .Activate
  .Range("A1").Select
  .Visible = False
End With

非表示シートを選択しない

非表示シートを選択せずに、セル値のみを取得する方法です。

Worksheets("表示シート").Range("A1") = Worksheets("非表示シート").Range("A1")

まとめ

非表示シートをエラーにならずに操作する方法を紹介しました。

シートを選択する必要があるのかで対処方法が変わってきますので、適切な方法で対処しましょう。

  • 一度表示してからシートを操作する方法
  • 非表示シートを選択せずにセル値のみを取得する方法
VBA
この記事を書いた人

エンジニアとして仕事をしています。
仕事や趣味を通して、開発やプログラミングについて学んだことを綴っていきます。
 ・実務経験は、WEBシステムのサーバーサイドコーディングがメイン
 ・アプリ開発は趣味程度

akihiro-takedaをフォローする
akihiro-takedaをフォローする
プログラミング・開発の備忘録
タイトルとURLをコピーしました