TOP > Up > Today


Date:  Sun, 26 Oct 2008 13:04:15 +0900
From:  no@ann.co.jp
Subject:  [pasml 307676] Re: エクセルの VBA でエラー解消できません
To:  pasml@ann.co.jp
Message-Id:  <200810260404.m9Q44FMG005643@pas2.jp>
X-Mail-Count: 307676

名前: はも BBSから
質問:http://pasokoma.jp/46/lg463004#463327
携帯:http://pasokoma.jp/m?num=463327&ope=v
--
ネコの親さんは No.463308「Re:エクセルのVBAでエラー解消できません」で書きました。
あ、selectであれば、エラーになりますね。

ということで当初のご要望に沿う方法としては、application.ScreenUpdatingを使う手があります。
これは、Excel内の変更の画面上に反映させるか否かのプロパティです。
使い方としては以下のような感じです。

application.ScreenUpdating = False

Sheet2.Visible = True
Sheet2.Range(&quot;A1:C1&quot;).select
'Sheet2の選択範囲に対する処理諸々
Sheet2.Visible = False

application.ScreenUpdating = True

application.ScreenUpdating がFalseに設定している間は画面が更新されないので、シートの表示・非表示を行っても目に付くことはありません。
ただ、非表示にしているシートの特定の選択範囲を、別のシートにコピーしたいということであれば以下の方がシンプルかも知れません。

・前提
Sheet2.Visible = False

●コード例
Sheet2.Range(&quot;A1:C4&quot;).copy Sheet1.Range(&quot;B2&quot;)


※これは、シートSheet2のA1〜C4の値を、シートSheet1のB2〜に貼り付ける意味になります。
※因みに、コピー先を指定せずにcopyメソッドを実行した場合は、クリップボードにコピーされます。

--
== 掲示板URL: http://pasokoma.jp/bbs ==
   配信の停止: http://pasokoma.jp/taikai
   本メールマガジンへの返信はなさらないで下さい
== 投稿はパソコン困りごと掲示板でお願い致します ===
    

TOP > Up > Today