Rangeを指定するのに、
Workbooks("abc").Sheets("Sheet1").Range("A1").Select
と言う風に指定したいのですが、これを行なうと
--------------------------------------------
実行時エラー '1004':
RangeクラスのSelectメソッドが失敗しました。
--------------------------------------------
となってしまう為、いつもわざわざ下記のようにしています。
Workbooks("abc").Activate
Sheets("Sheet1").Select
Range("A1").Select
Selectだけでなく、Copyの貼り付け等の時も同様で
かなりの手間と、コードの長さになってしまっています。
どこかの設定を変えると出来たりするのでしょうか?
又、他に良い方法がありましたらお教え下さい。
よろしくお願いします。
No.2
- 回答日時:
こんにちは。
KenKen_SP です。【Wendy02 さんのコメントより引用】
> 実際、Select すること自体は、最終のシートやセルをActive
> させる以外は必要がないのです。
私も同感です。Select や Activate が本当に必要なケースは
ごくわずかです。
例えば、A1セルに数字の値を入力したいなら、
Workbooks("abc").Activate
Sheets("Sheet1").Select
Range("A1").Select
ActiveCell.Value = 10
みたいなコードになるわけですが、#1 で Wendy02 さんが解説され
た理由で Select に失敗するのであれば、
Workbooks("abc").Sheets("Sheet1").Range("A1").Value = 10
と書いても求める結果は一緒です。Select メソッドで失敗するなら、
Select しなければ良い、、、といったところでしょうか。
無論 Select してからでないと失敗するメソッドがあり、それらは
例外となりますが。
> ...かなりの手間と、コードの長さになってしまっています。
そのために Set ステートメントや With ステートメントがあります。
例)
Dim SH as Worksheet
Set SH = Wrokbooks("abc").Sheets("Sheet1")
で、以降 SH.Range("A1") と書けば、
Wrokbooks("abc").Sheets("Sheet1")..Range("A1")
と同意になります。
KenKen_SPさん、早速ご回答ありがとうございました!
お礼が遅くなってしまい、申し訳ありません。
>Select メソッドで失敗するなら、
>Select しなければ良い、、、といったところでしょうか。
そうなんですよね、私もSelectしない方が処理も早くなるし
Selectせずに進めたいのですが、なかなかうまく行かない時があったりして、頭を悩ませています。。。
それが
>無論 Select してからでないと失敗するメソッドがあり、それらは
>例外となりますが。
の時なのでしょうかね?!
>そのために Set ステートメントや With ステートメントがあります。
>(中略)
>Dim SH as Worksheet
>Set SH = Wrokbooks("abc").Sheets("Sheet1")
>で、以降 SH.Range("A1") と書けば、
>Wrokbooks("abc").Sheets("Sheet1")..Range("A1")
>と同意になります。
ありがとうございます!
この辺りは初心者の私でもなんとか知っている範囲でしたので
できるだけ使うようにしているのですが
まだまだ、効率の悪いコードになっていることであろうと
情けなく思っています。
これから色々勉強して行きたいと思っています。
ありがとうございました!
No.1ベストアンサー
- 回答日時:
こんにちは。
Wendy02です。>Workbooks("abc").Sheets("Sheet1").Range("A1").Select
こうしたコンテナタイプの書き方は、本来は有効なのですが、ここで示されているRangeプロパティは、Worksheet オブジェクトの配下になっている関係で、Activateされていない場所のものは、Selectできないのです。
Application.Goto Workbooks("abc.xls").Sheets("Sheet1").Range("A1")
とすればよいことですが、しかし、こういう場面に出会うということは、そんなに多いものではないのです。実際、Select すること自体は、最終のシートやセルをActive にさせる以外は必要がないのです。
>Selectだけでなく、Copyの貼り付け等の時も同様で
>かなりの手間と、コードの長さになってしまっています。
Copy の時は、Destination をあわせるだけでよいのですが、コンテナタイプの書き方をすれば、
ActiveSheet.Range("A1").Copy Workbooks("abc.xls").Sheets("Sheet1").Range("A1")
でよいわけです。
Wendy02さん、こんにちは!いつもありがとうございます!!
お礼が遅くなってしまい、申し訳ありません。
>こうしたコンテナタイプの書き方は、本来は有効なのですが、
>ここで示されているRangeプロパティは、Worksheet オブジェクトの配下になっている関係で、
>Activateされていない場所のものは、Selectできないのです。
へぇー、そうだったんですね!またまた1つ賢くなりました。
>ActiveSheet.Range("A1").Copy Workbooks("abc.xls").Sheets("Sheet1").Range("A1")
これを、有難く有効に使わせて頂くことにしました。
本当にいつもいつも助かっています。
ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルVBA 3 2022/06/23 20:00
- Visual Basic(VBA) データのある範囲を選択するVBAについて 2 2022/09/03 00:20
- Excel(エクセル) エクセル VBAでシートのコピーを作りたい 1 2023/05/18 07:42
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Visual Basic(VBA) いつもお世話になります 下記のコード実行すると エラーになります わかるかた教えてくれませんでしょう 6 2022/12/17 15:01
- Excel(エクセル) ②Excel 簡単にシートコピーしたら前日の残高と日付を変更させたい→マクロの記録でエラーが出ます 8 2022/07/16 20:40
- Visual Basic(VBA) excelVBAについて。 1 2022/11/30 06:16
- Visual Basic(VBA) ExcelVBA No.を自動連番で設定をしながらデータ入力をしたい 2 2022/08/03 18:19
- Excel(エクセル) ExcelVBAについて。 2 2022/12/10 20:08
- Visual Basic(VBA) excelVBAについて。 4 2022/11/21 16:15
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
味の素の冷凍餃子を食べたら冷...
-
野菜ジュース、開封して冷蔵庫...
-
トマトジュースの消費期限
-
パルキー
-
ピュアセレクトマヨネーズとキ...
-
冷蔵庫を利用した「生ハム」の...
-
ニラの匂いのする花が庭に…
-
急いでいます。 今度放課後学校...
-
ペヤングに入ってる茶色の丸い...
-
群馬の永井食堂のモツ煮をいた...
-
24時間水につけた米はまずい…で...
-
味パンダ調味料~
-
化学調味料で、いちばん効くのは?
-
かぼちゃを買ったら、どんな料...
-
シンプルな料理 どんなイメージ...
-
懐石料理は小鉢ばかり並べて、...
-
料理の色入れに入れるカラメル...
-
具入り卵焼きやオムレツの具に...
-
数の子天井は好きですか?
-
“ご”からじまって、“ん”で終わ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
味の素の冷凍餃子を食べたら冷...
-
トマトジュースの消費期限
-
野菜ジュース、開封して冷蔵庫...
-
化学調味料で、いちばん効くのは?
-
味の素の味を感じられません。
-
顆粒チキンスープの素ってなに?
-
キノコに白いカビのようなものが…
-
お寿司屋さんや居酒屋のカウン...
-
ピュアセレクトマヨネーズとキ...
-
旭味・ミタスはまだ売られてい...
-
永谷園のごはんですよ、冷蔵庫...
-
24時間水につけた米はまずい…で...
-
東西で違うインスタントラーメ...
-
ペヤングに入ってる茶色の丸い...
-
私の料理のセンスがない 料理が...
-
夕食のことって夜ごはんって言...
-
数の子天井は好きですか?
-
懐石料理は小鉢ばかり並べて、...
-
キッコーマンの弱点について
-
味の素ってなんで親の仇みたに...
おすすめ情報