プロが教えるわが家の防犯対策術!

いつも質問に協力して頂き、たいへん感謝しています。
今回の質問ですが、
別のシート(一覧)のB列にシート名が下記のように記載されています。
C4-1 
C4-2
C4-3
  ・
  ・
  ・ 
別シート(一覧)のB列に記載されたシート名(C4-1)を選択し、選択されたシート(C4-1)の欲しい対象範囲のコピーの作業を行い、別シートの選択されていた(C4-1)横の列に貼り付ける。終われば、下のC4-2で同じ作業を行う。をB列の空欄まで行いたいのですが・・・。
最初の『別シート(一覧)のB列に記載されたシート名(C4-1)を選択し』で選択する方法が分からなくなっちゃいました。自分が記述した内容は、

Sub シートを繰り返し選択する()
Dim d As Integer
d = 2
Worksheets(Worksheets("一覧").Cells(d, 2)).Activate
End Sub

です。当然エラーになり、思うようになりませんでした。どのようにしたら繰り返しに適した記述になるのでしょうか?ちなみに繰り返しは記述していません。

もう一つ質問です。
欲しい対象範囲についてです。B4始まりの対象範囲の選択ですが、範囲の終点を最後の空欄(途中の空欄は無視)までにしたい場合の記述方法を教えてください。
御指導お願い致します。

A 回答 (2件)

非常に惜しいです。



  Worksheets(Worksheets("一覧").Cells(d, 2).Value).Activate

でもう一度チャレンジしてみましょう。


> 繰り返しに適した記述

「For~Next」
「Do~Loop」
あるいは「EXCEL VBA 繰り返し」
などで検索すると、きっと見つかりますよ。



> もう一つ質問です。
1スレッド1質問と言う暗黙のルール・マナーをご存知ですか?
気を付けましょうね。

> 範囲の終点を最後の空欄(途中の空欄は無視)
「EXCEL VBA 最終行(または最終列)」で検索するときっと見つかります。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。Valueが必要だったんですね。あと、1スレッド1質問と言う暗黙のルール・マナー知りませんでた。以後気を付けます。

お礼日時:2012/11/09 01:12

こんばんは!


横からお邪魔します。

2番目の質問
>B4始まりの対象範囲の選択ですが、範囲の終点を最後の空欄(途中の空欄は無視)までにしたい
に関しては

Dim i As Long
For i = 4 To Cells(Rows.Count, "B").End(xlUp).Row
If Cells(i, "B") <> "" Then
・・・やりたいこと・・・
End If
Next i

こんな感じでやってみてはどうでしょうか?m(_ _)m
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
せっかくの回答ですが、自分はあまり応用力が無くて・・・。例題を活かすことが出来ませんでした。申し訳ありません。

お礼日時:2012/11/09 01:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!