![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
XPのVBAでシート名の一部を変更するマクロを組もうとしています。
山田町(統計)、山田町(1期)、山田町(2期)というファイルを、指定した表の中の各セルの町名に変更して保存します。(全部で40町。たとえば浅野町(統計)、浅野町(1期)、浅野町(2期)というふうに)
今はFor each a in UsedRangeという形でa(統計)、a(1期)、a(2期)という名前で保存するようにしています。
(統計)、(1期)、(2期)の部分を指定しないで、共通する部分(a)だけ変える、というマクロの組み方はないでしょうか。
初心者なもので、うまく説明できないので申し訳ありません。
どなたかよろしくお願いします。
No.2ベストアンサー
- 回答日時:
あまり詳しく状況が見えないのですが、
山田町(統計)、山田町(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
No.4
- 回答日時:
質問の意味がわかりません。
>初心者なもので、ではなく、文章表現の訓練と考え方の整理が不十分だと思う。>シート名の一部を変更する
シート名の文字列は、変更後の文字列全体を指定します。
ブック名でも同じです。
その文字列の一部(後半?)を作るときに、セルの値を検索して適当に持ってくる分けです。通常は&で2つの文字列を(固定部分と変動部分を)結合します。
質問には統計、1期、2期を適切に振るロジックが書いてないのではないですか。もしそうならプログラムを聞かれても答えられません。
ーーー
>)、山田町(2期)というファイルーー>ブックの話
>シート名の一部を変更する方ーー>シートの話
一体どちらですか。
どうも推測では、名前の変更はブック名の方か?
すると表題の>シート名の一部を変更する方法について、はブック名の一部をシートのセルのデータで変更する方法について
という質問ですか?
どういうタイミングで>統計、1期、2期を振るのか、切めりしないとだめです。
> UsedRange
にはどんなデータがあるのか実例を挙げること。
ありがとうございます。成程、思いついたまま質問を乗せてしまいました。(山田町(統計)、山田町(1期)、山田町(2期))(浅野町(統計)、浅野町(1期)、浅野町(2期))(大分町(統計)(大分町(1期)、大分町(2期))というふうにしたかったのです。思いつめると、そのまま文章にする傾向があるので、反省しています。今回はどうやら解決しました。本当にご忠告ありがとうございました。
No.3
- 回答日時:
>山田町(統計)、山田町(1期)、山田町(2期)というファイルを、指定した表の中の各セルの町名に変更して保存します。
これはマスターブックがあってそのシート名が、
>a(統計)、a(1期)、a(2期)
である時に、表中の町名(山田町、浅野町・・・)毎にブックを作成・3つのシートをコピペ、
そのシート名を a から各町名に変更・保存したいと言う感じの事でしょうか?
読み違いでしたらごめんなさい。
ありがとうございます。おっしゃるとおりです。説明不足で、おまけにお礼が遅くなり申し訳ありません。とりあえず今回は完成しました。ご
迷惑をおかけしました。
No.1
- 回答日時:
ご質問の意味をよく理解できてませんが…
現状は『指定したシート』で、それぞれ
浅野町(統計)、 浅野町(1期)、 浅野町(2期)・・・
と指定しているのを、
浅野町、 山田町、 ・・・
みたいにできないかという意味でしょうか?
もしそうであるなら、
シートから a="浅野町"を取得したら、保存する際に
a & "(統計)"、 a & "(1期)"、 a & " (2期)" の3種類のファイルをセットで作成(=保存)するようにすれば良いだけでは?
意味が違っていたなら、無視してください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/01/20 16:37
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/03/02 08:40
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/11 13:29
- Access(アクセス) ExcelのVBAコードについて教えてください。 4 2023/01/20 09:44
- Excel(エクセル) ワードのマクロについて教えてください。 1 2023/03/11 13:50
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
- Visual Basic(VBA) エクセルのマクロで対象ごとにシート分けしてその内容をセルに書き込みたい 9 2022/08/24 13:23
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/03/08 09:08
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- Excel(エクセル) Excel、同じフォルダ内のExcelファイルの特定シートのみを1つのファイルに集約したい 8 2022/09/07 15:12
このQ&Aを見た人はこんなQ&Aも見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
フォルダ内の全ブックのシート名を変更したいです。
Excel(エクセル)
-
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
-
4
エクセルでエラーが出て困っています。
Excel(エクセル)
-
5
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
6
VBA 数式を残して値をクリアについて
Excel(エクセル)
-
7
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
8
VBA データ(特定値)のある最終行を取得したい
Excel(エクセル)
-
9
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
10
ファイル名の一部削除について
XML
-
11
【EXCEL】【VBA】空欄は飛ばして処理する方法を教えて下さい。
Excel(エクセル)
-
12
ExcelVBAでPDFを閉じるソース
その他(Microsoft Office)
-
13
実行時エラー 438になった時の対処法を教えて下さい。
Visual Basic(VBA)
-
14
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別のシートから値を取得するとき
-
同じ作業を複数のシートに実行...
-
excelのマクロで該当処理できな...
-
セルの値によって、シート見出...
-
VBA 存在しないシートを選...
-
Access エクセルシート名変更
-
VBAで指定シート以外の選択
-
特定の文字を含むシートだけマ...
-
エクセルのシート名変更で重複...
-
VBA 改行コードの取り方
-
VBAを用いて繰り返し自動的...
-
【VBA】指定した検索条件に一致...
-
Excel VBA 複数行を数の分だけ...
-
userFormに貼り付けたLabelを変...
-
【Excel VBA】Worksheets().Act...
-
【Excel VBA】書き込み先のシー...
-
コマンドボタンをクリックでシ...
-
セルのコピーで「オブジェクト...
-
ユーザーフォームに入力したデ...
-
VBAです。ユーザーフォームの表...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別のシートから値を取得するとき
-
excelのマクロで該当処理できな...
-
【ExcelVBA】全シートのセルの...
-
ユーザーフォームに入力したデ...
-
同じ作業を複数のシートに実行...
-
ブック名、シート名を他のモジ...
-
特定の文字を含むシートだけマ...
-
実行時エラー'1004': WorkSheet...
-
VBA 存在しないシートを選...
-
エクセルのシート名変更で重複...
-
XL:BeforeDoubleClickが動かない
-
シートが保護されている状態で...
-
Excel VBA 複数行を数の分だけ...
-
実行時エラー1004「Select メソ...
-
【Excel VBA】Worksheets().Act...
-
Excelマクロのエラーを解決した...
-
エクセル・マクロ シートの非...
-
VBAで同じシート名のコピー時は...
-
ExcelのVBAのマクロで他のシー...
-
【VBA】色のついたシート名を取得
おすすめ情報