Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


12912 / 13644 ツリー ←次へ | 前へ→

【8012】Rangeについて DORA 03/9/26(金) 15:23 質問
【8013】Re:Rangeについて つん 03/9/26(金) 15:32 発言
【8015】Re:Rangeについて INA 03/9/26(金) 15:42 回答
【8018】Re:Rangeについて BOTTA 03/9/26(金) 15:59 回答
【8016】Re:Rangeについて Jaka 03/9/26(金) 15:57 発言
【8021】あ、そうか(>_<) つん 03/9/26(金) 16:04 発言

【8012】Rangeについて
質問  DORA  - 03/9/26(金) 15:23 -

引用なし
パスワード
   カウンタを使用して、ある条件のセルをSelectしたいのですがうまくいきません。
Thisworkbook.Activesheet.Range("B" & cnt).Select
上記の部分でエラーになってしまうのですが、初歩的ですみませんが、教えてください。

【8013】Re:Rangeについて
発言  つん E-MAIL  - 03/9/26(金) 15:32 -

引用なし
パスワード
   DORA さん、こんにちは

>カウンタを使用して、ある条件のセルをSelectしたいのですがうまくいきません。
>Thisworkbook.Activesheet.Range("B" & cnt).Select
>上記の部分でエラーになってしまうのですが、初歩的ですみませんが、教えてください。

こちらで試したところで、特にエラーは出ていませんが・・・
このコードの前の部分に何か問題があるのかな?
それか、アクティブになっているシートが、Thisworkbookのシートじゃないとか・・
シート名で指定してやればどうですか?
こんな感じで

Thisworkbook.Worksheets("Sheet1").Range("B" & cnt).Select

【8015】Re:Rangeについて
回答  INA  - 03/9/26(金) 15:42 -

引用なし
パスワード
   「ある条件のセル」とは何でしょうか?
また、発生するエラーは、どんなエラーですか?

【8016】Re:Rangeについて
発言  Jaka  - 03/9/26(金) 15:57 -

引用なし
パスワード
   おじゃまします。

>Thisworkbook.Activesheet.Range("B" & cnt).Select
エクセルから見たらアクティブシートは1つしかありませんから、このマクロが書いてあるブックのアクティブシートという表現は正しくありません。(他ブックも開いていた場合等も考えると..。)

つんさんの
>Thisworkbook.Worksheets("Sheet1").Range("B" & cnt).Select
も、場合によってはエラーになると思います。
突っ込んでごめんなさい。
お元気ですか?

多分、他ブックがアクティブ状態からでしょうから、順番にアクティブにして行かないとエラーになると思います。

ThisWorkbook.Activate
Worksheets("Sheet1").Select
Range("B" & cnt).Select

値の取得だったら
aa = Thisworkbook.Worksheets("Sheet1").Range("B" & cnt).value

書きこむんだったら
Thisworkbook.Worksheets("Sheet1").Range("B" & cnt).value = "あああ"

と、書けないば良いです。

全くでたらめな事書いてましたら、ごめんなさい。

【8018】Re:Rangeについて
回答  BOTTA  - 03/9/26(金) 15:59 -

引用なし
パスワード
   DORAさん、つんさん、INAさん、こんにちは。

RangeのようにWorksheetの下位にあたるObjectは、注意が必要です。
つまりRangeをSelectする場合には、あらかじめWorksheetをActive
にしておかなければなりません。
私も以前ずいぶん悩んだことがあります。

下のように2つに分ければいいと思います。
ThisWorkbook.Worksheets(1).Activate
Range("B" & cnt).Select

【8021】あ、そうか(>_<)
発言  つん E-MAIL  - 03/9/26(金) 16:04 -

引用なし
パスワード
   Jaka さん、こんにちは〜

>つんさんの
>>Thisworkbook.Worksheets("Sheet1").Range("B" & cnt).Select
>も、場合によってはエラーになると思います。

あ、そうか。
ちゃんと、そのシートをアクティブにする処理をしてからでないと、
Selectはエラーになりますね(^^;

>突っ込んでごめんなさい。
いえいえ、私もちゃんと検証してレスいれないとダメですね。
つい簡単なこと・・・とか思って。
全然わかってへんやん、自分て感じ。
DORAさん、ごめんなさい。

>お元気ですか?
お陰様で元気です・・と言いたいとこですが、
季節柄、自律神経がまたへたってます(^^;

12912 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free