Excel VBA質問箱 IV

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

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


8934 / 13646 ツリー ←次へ | 前へ→

【30246】ワークシート名の一括置換 ものみゆ 05/10/24(月) 6:33 質問[未読]
【30265】Re:ワークシート名の一括置換 とまと 05/10/24(月) 11:08 回答[未読]
【30270】Re:ワークシート名の一括置換 ものみゆ 05/10/24(月) 11:56 お礼[未読]
【30271】Re:ワークシート名の一括置換 とまと 05/10/24(月) 12:00 回答[未読]
【30276】Re:ワークシート名の一括置換 ものみゆ 05/10/24(月) 12:58 お礼[未読]

【30246】ワークシート名の一括置換
質問  ものみゆ  - 05/10/24(月) 6:33 -

引用なし
パスワード
   表題の件でお知恵をおかしください。

ブック内の複数シートのうちのひとつのシート上に、
置換したいシート名を羅列した1行を作成し、
そのシート名リストを範囲指定し、当ブックのn番目のシート名から置換する、
というようなVBAをお教えいただければと思います。

どうぞよろしくお願いいたします。

【30265】Re:ワークシート名の一括置換
回答  とまと  - 05/10/24(月) 11:08 -

引用なし
パスワード
   こんにちは
sheet1のA1から置換するシート名が縦に入力されているとして
下記のように書けると思います。


Sub セルの値をシート名に()

Dim i As Long
Dim n As Long
Dim sh1 As Worksheet

Set sh1 = Worksheets("sheet1") '一覧のあるシート

n = 1 'シートのn番目から
With sh1
 For i = 1 To .Range("A65536").End(xlUp).Row
   Worksheets(n).Name = .Cells(i, "A").Value
   n = n + 1
 Next
End With


End Sub

▼ものみゆ さん:
>表題の件でお知恵をおかしください。
>
>ブック内の複数シートのうちのひとつのシート上に、
>置換したいシート名を羅列した1行を作成し、
>そのシート名リストを範囲指定し、当ブックのn番目のシート名から置換する、
>というようなVBAをお教えいただければと思います。
>
>どうぞよろしくお願いいたします。

【30270】Re:ワークシート名の一括置換
お礼  ものみゆ  - 05/10/24(月) 11:56 -

引用なし
パスワード
   ▼とまと さん:

たいへん素早く、適切な方法をお教えいただきましてありがとうございます。
早速試させていただきまして、期待していたとおりの結果が得られました。
本当に助かりました。

ひとつだけ質問させていただいてよろしいでしょうか?
>   Worksheets(n).Name = .Cells(i, "A").Value
なのですが、この"A"部分は、列Aを指定している部分かと思います。
であるなら、数字の1を代わりに記述してもいいのでしょうか?

お手すきの際に、ご教授いただけますと幸いです。

このたびはどうもありがとうございました。


>こんにちは
>sheet1のA1から置換するシート名が縦に入力されているとして
>下記のように書けると思います。
>
>
>Sub セルの値をシート名に()
>
>Dim i As Long
>Dim n As Long
>Dim sh1 As Worksheet
>
>Set sh1 = Worksheets("sheet1") '一覧のあるシート
>
>n = 1 'シートのn番目から
>With sh1
> For i = 1 To .Range("A65536").End(xlUp).Row
>   Worksheets(n).Name = .Cells(i, "A").Value
>   n = n + 1
> Next
>End With
>
>
>End Sub
>
>▼ものみゆ さん:
>>表題の件でお知恵をおかしください。
>>
>>ブック内の複数シートのうちのひとつのシート上に、
>>置換したいシート名を羅列した1行を作成し、
>>そのシート名リストを範囲指定し、当ブックのn番目のシート名から置換する、
>>というようなVBAをお教えいただければと思います。
>>
>>どうぞよろしくお願いいたします。

【30271】Re:ワークシート名の一括置換
回答  とまと  - 05/10/24(月) 12:00 -

引用なし
パスワード
   こんにちは。

>ひとつだけ質問させていただいてよろしいでしょうか?
>>   Worksheets(n).Name = .Cells(i, "A").Value
>なのですが、この"A"部分は、列Aを指定している部分かと思います。
>であるなら、数字の1を代わりに記述してもいいのでしょうか?

 大丈夫ですよ。
 この書き方も列数が多いときなど便利ですよ。
 では。 

【30276】Re:ワークシート名の一括置換
お礼  ものみゆ  - 05/10/24(月) 12:58 -

引用なし
パスワード
   ▼とまと さん:

またもや、早速のレスポンスで恐縮です。

ご回答もありがとうございます。
私も、これからどんどん学習を重ねて行きたいと思います。

またお世話になるかもしれませんが、どうぞよろしくお願いいたします。
どうもありがとうございました。

>こんにちは。
>
>>ひとつだけ質問させていただいてよろしいでしょうか?
>>>   Worksheets(n).Name = .Cells(i, "A").Value
>>なのですが、この"A"部分は、列Aを指定している部分かと思います。
>>であるなら、数字の1を代わりに記述してもいいのでしょうか?
>
> 大丈夫ですよ。
> この書き方も列数が多いときなど便利ですよ。
> では。

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