Rangeを指定するのに、
Workbooks("abc").Sheets("Sheet1").Range("A1").Select
と言う風に指定したいのですが、これを行なうと
--------------------------------------------
実行時エラー '1004':
RangeクラスのSelectメソッドが失敗しました。
--------------------------------------------
となってしまう為、いつもわざわざ下記のようにしています。
Workbooks("abc").Activate
Sheets("Sheet1").Select
Range("A1").Select
Selectだけでなく、Copyの貼り付け等の時も同様で
かなりの手間と、コードの長さになってしまっています。
どこかの設定を変えると出来たりするのでしょうか?
又、他に良い方法がありましたらお教え下さい。
よろしくお願いします。
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")
これを、有難く有効に使わせて頂くことにしました。
本当にいつもいつも助かっています。
ありがとうございました!
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")
>と同意になります。
ありがとうございます!
この辺りは初心者の私でもなんとか知っている範囲でしたので
できるだけ使うようにしているのですが
まだまだ、効率の悪いコードになっていることであろうと
情けなく思っています。
これから色々勉強して行きたいと思っています。
ありがとうございました!
お探しの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ランキング
-
味の素の冷凍餃子を食べたら冷...
-
味の素の味を感じられません。
-
野菜ジュース、開封して冷蔵庫...
-
ピュアセレクトマヨネーズとキ...
-
顆粒チキンスープの素ってなに?
-
ECXEL VBA - Selectメソッドの失敗
-
キノコに白いカビのようなものが…
-
トマトジュースの消費期限
-
東西で違うインスタントラーメ...
-
こんなに豚が謝る事ってなんで...
-
別れる?関係を続けるには?
-
旭味・ミタスはまだ売られてい...
-
化学調味料で、いちばん効くのは?
-
冷凍餃子を冷蔵庫に入れても明...
-
49歳既婚女性です 30代の独身...
-
食べ合わせについて・・・
-
ししとうの「へた」と「茎」の...
-
長ねぎの代用として玉ねぎって...
-
インスタント以外でホットサン...
-
今カレーを作りましたが、にん...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
味の素の冷凍餃子を食べたら冷...
-
野菜ジュース、開封して冷蔵庫...
-
化学調味料で、いちばん効くのは?
-
トマトジュースの消費期限
-
旭味・ミタスはまだ売られてい...
-
顆粒チキンスープの素ってなに?
-
味の素の味を感じられません。
-
牛角に「カルビ専用ごはん専用...
-
お寿司屋さんや居酒屋のカウン...
-
キノコに白いカビのようなものが…
-
永谷園のごはんですよ、冷蔵庫...
-
冷凍餃子を冷蔵庫に入れても明...
-
24時間水につけた米はまずい…で...
-
キッコーマンの弱点について
-
夕食のことって夜ごはんって言...
-
ピュアセレクトマヨネーズとキ...
-
パンとごはんについて
-
東西で違うインスタントラーメ...
-
懐石料理は小鉢ばかり並べて、...
-
もつ鍋に海鮮食品は合うでしょ...
おすすめ情報