アプリ版:「スタンプのみでお礼する」機能のリリースについて

XPのVBAでシート名の一部を変更するマクロを組もうとしています。
山田町(統計)、山田町(1期)、山田町(2期)というファイルを、指定した表の中の各セルの町名に変更して保存します。(全部で40町。たとえば浅野町(統計)、浅野町(1期)、浅野町(2期)というふうに)
今はFor each a in UsedRangeという形でa(統計)、a(1期)、a(2期)という名前で保存するようにしています。
(統計)、(1期)、(2期)の部分を指定しないで、共通する部分(a)だけ変える、というマクロの組み方はないでしょうか。
初心者なもので、うまく説明できないので申し訳ありません。
どなたかよろしくお願いします。

A 回答 (4件)

あまり詳しく状況が見えないのですが、


山田町(統計)、山田町(1期)、山田町(2期) というシート名を
浅野町(統計)、浅野町(1期)、浅野町(2期) に変更するという意味で作成しました。

*注意
1、シート名にある "("(カッコ) は半角であるという前提でマクロを書いていますが、もし全角ならば(1)(2)の部分の "("(半角) を "("(全角)に変更してください。
2、(1)部分の"山田町"の部分には今から変更する名前を、(2)の"浅野町"の部分には変更した後の名前を書いてください。

Sub シート名変更()
Dim s As String
For i = 1 To Sheets.Count
s = Sheets(i).Name
If Left(s, InStr(s, "(") - 1) = "山田町" Then '(1)
Sheets(i).Name = "浅野町" & Mid(s, InStr(s, "(")) '(2)
End If
Next
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございました。教えていただいた方法で考えました。早い回答を本当にありがとうございました。

お礼日時:2009/08/26 20:49

質問の意味がわかりません。

>初心者なもので、ではなく、文章表現の訓練と考え方の整理が不十分だと思う。
>シート名の一部を変更する
シート名の文字列は、変更後の文字列全体を指定します。
ブック名でも同じです。
その文字列の一部(後半?)を作るときに、セルの値を検索して適当に持ってくる分けです。通常は&で2つの文字列を(固定部分と変動部分を)結合します。
質問には統計、1期、2期を適切に振るロジックが書いてないのではないですか。もしそうならプログラムを聞かれても答えられません。
ーーー
>)、山田町(2期)というファイルーー>ブックの話
>シート名の一部を変更する方ーー>シートの話
一体どちらですか。
どうも推測では、名前の変更はブック名の方か?
すると表題の>シート名の一部を変更する方法について、はブック名の一部をシートのセルのデータで変更する方法について
という質問ですか?
どういうタイミングで>統計、1期、2期を振るのか、切めりしないとだめです。
> UsedRange
にはどんなデータがあるのか実例を挙げること。
    • good
    • 0
この回答へのお礼

ありがとうございます。成程、思いついたまま質問を乗せてしまいました。(山田町(統計)、山田町(1期)、山田町(2期))(浅野町(統計)、浅野町(1期)、浅野町(2期))(大分町(統計)(大分町(1期)、大分町(2期))というふうにしたかったのです。思いつめると、そのまま文章にする傾向があるので、反省しています。今回はどうやら解決しました。本当にご忠告ありがとうございました。

お礼日時:2009/08/26 20:45

>山田町(統計)、山田町(1期)、山田町(2期)というファイルを、指定した表の中の各セルの町名に変更して保存します。


これはマスターブックがあってそのシート名が、
>a(統計)、a(1期)、a(2期)
である時に、表中の町名(山田町、浅野町・・・)毎にブックを作成・3つのシートをコピペ、
そのシート名を a から各町名に変更・保存したいと言う感じの事でしょうか?

読み違いでしたらごめんなさい。
    • good
    • 0
この回答へのお礼

ありがとうございます。おっしゃるとおりです。説明不足で、おまけにお礼が遅くなり申し訳ありません。とりあえず今回は完成しました。ご
迷惑をおかけしました。

お礼日時:2009/08/26 20:48

ご質問の意味をよく理解できてませんが…



現状は『指定したシート』で、それぞれ
 浅野町(統計)、 浅野町(1期)、 浅野町(2期)・・・
と指定しているのを、
 浅野町、 山田町、 ・・・
みたいにできないかという意味でしょうか?


もしそうであるなら、
シートから a="浅野町"を取得したら、保存する際に
 a & "(統計)"、 a & "(1期)"、 a & " (2期)" の3種類のファイルをセットで作成(=保存)するようにすれば良いだけでは?

意味が違っていたなら、無視してください。
    • good
    • 0
この回答へのお礼

ありがとうございました。ようやく完成しました。

お礼日時:2009/08/26 20:51

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

このQ&Aを見た人はこんなQ&Aも見ています