No.5ベストアンサー
- 回答日時:
以下のマクロを標準モジュールへ登録してください。
Option Explicit
Public Sub 全シート名変更()
Dim i As Long
Dim wrow As Long: wrow = 2
Dim ws As Worksheet
Set ws = Worksheets("シート名変更")
For i = Worksheets.Count To 1 Step -1
If Worksheets(i).Name <> "シート名変更" And Worksheets(i).Name <> "日付変更" Then
Worksheets(i).Name = ws.Cells(wrow, "E").Value
wrow = wrow + 1
End If
Next
End Sub
No.6
- 回答日時:
>というエラーが生じました。
>シート名に「.」が入っているのが原因だったりするでしょうか?初歩的な>ところもわかっておらず、すみません...。
シート名に「.」は使用可能です。
Worksheets(i).Name = ws.Cells(wrow, "E").Value
の行で止まったとき、wrowにマウスを当ててください。
そうすると、wrowの値が表示されます。(wrowは行番号)
例えばその値が20とするとセルE20の内容がおかしいということになります。そのセルに不当な文字がないか確認してください。
そのセルの内容が○○とすると、直接、その○○をシート名に打ち込んで使用できるか確認してください。
それでも、判らないときは、そのセルの内容を提示してください。
No.4
- 回答日時:
私も独学ではじめは苦労しました
やりたい事は書いてありますがやった事は書いてありません
実際にコピペでも何でも良いので実行して試したコードを書いてはいかがでしょう?
躓いているポイントはどこでしょうか?
調べた先の解説はおそらくここの回答者より優れていると思います
VBAの初心者で覚える気持ちが有るのならポイントを絞ってご質問される方が良い回答がされると思います
始めが肝心なので敢えてこのような書き方をしました ご理解ください
No.3
- 回答日時:
>VBA超ビギナーです
具体的な処理コードの作成は自身で行う事で理解が得られます
参考サイトの一例
全てのシート名を処理する
https://www.tipsfound.com/vba/10008-vba
条件分岐の書き方
https://excel-ubara.com/excelvba1/EXCELVBA320.html
セルの値を取得する
https://www.tipsfound.com/vba/07001-vba
繰り返し処理の書き方
https://valmore.work/excel-vba-for/
No.2
- 回答日時:
Worksheets(1).Name = Worksheets("シート名変更").Range("A2").Value
と書けば1番目のシートの名前がA2セルの文字列になります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAで特定のシート以外のシート名を変更したい 2 2024/02/14 13:00
- Visual Basic(VBA) Excel VBA 文字列のセルを反映させたいです 2 2024/02/24 00:06
- Visual Basic(VBA) Excelの各シートを色ごとで分類して値転記するマクロの作り方を教えて下さい。 2 2023/10/31 12:19
- Visual Basic(VBA) 最終行の指定について教えてください。 複数シートを1シートへまとめる下記マクロでは各シートの6行目を 1 2022/10/04 18:37
- Visual Basic(VBA) 一つのフォルダーに50個のエクセルファイルがあります。 各ファイルにはAとBのシートがあります。 5 2 2023/10/03 16:25
- Excel(エクセル) 3つのエクセルをそれぞれのシートのセルに反映させたいときはどうしたらいいでしょうか? 例えば①シート 4 2023/04/25 20:13
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 3 2022/06/10 09:24
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/02 10:20
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/06/10 11:06
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
VBA UserFormからの転記で
Visual Basic(VBA)
-
VBAで特定のシート以外のシート名を変更したい
Visual Basic(VBA)
-
ExcelのVBAコードについて教えてください。
Visual Basic(VBA)
-
-
4
VBAに関して
Visual Basic(VBA)
-
5
ExcelのVBAのことで質問です。 以下のコードを入れ、ボタンを押せば作動させると写真のように画面
Visual Basic(VBA)
-
6
Excel関数またはVBAでの質問になります
Visual Basic(VBA)
-
7
Excel マクロについての相談
Visual Basic(VBA)
-
8
VBA listBoxについて
Visual Basic(VBA)
-
9
VBAで質問があります
Visual Basic(VBA)
-
10
現在のブックを閉じないで、マクロ抜きの(現在のブックの)コピーを作成したい
Visual Basic(VBA)
-
11
エクセルのマクロについて教えてください。
Visual Basic(VBA)
-
12
データから単位文字を除去して計算する方法は?
Excel(エクセル)
-
13
エクセルの数式で教えてください。
Excel(エクセル)
-
14
Excel マクロについて
Visual Basic(VBA)
-
15
VBAユーザーホームテキストボックスにカーソルを自動で表示したい
Visual Basic(VBA)
-
16
Excel VBAでの数値の計算についておしえてください
Visual Basic(VBA)
-
17
VBA 二つのブックをうまく扱えないでいます
Visual Basic(VBA)
-
18
【VBA】【マクロ】 指定の条件で、空白の行を挿入
Excel(エクセル)
-
19
Excelセルに入力された文字の色を変える方法を教えてください
Visual Basic(VBA)
-
20
excelのVBAについて、以下のコードに追加をお願いいたします。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別のシートから値を取得するとき
-
ユーザーフォームに入力したデ...
-
XL:BeforeDoubleClickが動かない
-
セルの値によって、シート見出...
-
【ExcelVBA】全シートのセルの...
-
【VBA】色のついたシート名を取得
-
エクセルのシート名変更で重複...
-
ブック名、シート名を他のモジ...
-
ExcelVBA シート名を複数セルか...
-
VBAでオブジェクト変数にsetし...
-
Worksheet_Changeの内容を標準...
-
同じ作業を複数のシートに実行...
-
VBAの天才来てください
-
特定の文字を含むシートだけマ...
-
実行時エラー'1004': WorkSheet...
-
別のシートを参照して計算する方法
-
【VBA】指定した検索条件に一致...
-
ExcelのVBAのマクロで他のシー...
-
【Excel VBA】Worksheets().Act...
-
excelのマクロで該当処理できな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別のシートから値を取得するとき
-
ユーザーフォームに入力したデ...
-
Excelマクロのエラーを解決した...
-
excelのマクロで該当処理できな...
-
同じ作業を複数のシートに実行...
-
ExcelVBA シート名を複数セルか...
-
【ExcelVBA】全シートのセルの...
-
Excel マクロについての相談
-
VBA 存在しないシートを選...
-
実行時エラー'1004': WorkSheet...
-
特定の文字を含むシートだけマ...
-
ExcelのVBAのマクロで他のシー...
-
ブック名、シート名を他のモジ...
-
XL:BeforeDoubleClickが動かない
-
VBA 複数の各シートに行を追加...
-
エクセルのシート名変更で重複...
-
【Excel VBA】Worksheets().Act...
-
シートが保護されている状態で...
-
Excel VBA 複数行を数の分だけ...
-
for 文の 繰り返し処理に使える...
おすすめ情報
あらかじめシートを30個用意しているので、全シートのうち末尾から先頭にかけて、シート「シート名変更」のE2〜E31の値を取得して変更したいです。
自分でも調べて何度も試しましたがわからないのでここで尋ねています。ここで調べてください、勉強してくださいみたいな回答は求めていません。
新たに
If Worksheets(i).Name <> "シート名変更" And Worksheets(i).Name <> "日付変更" And Worksheets(i).Name <> "発注書工場用原本" And Worksheets(i).Name <> "箱注文原本" Then
を追記して実行したのですが
Worksheets(i).Name = ws.Cells(wrow, "E").Value
のところで
実行時エラー1004:
入力されたシートまたはグラフの名前が正しくありません。次の点を確認して修正してください。入力文字が31 文字以内であること 次の使用できない文字が含まれていないこと:コロン、円記号、スラッシユ、疑問符、アスタリスク、左角かっこ、右角かっこ名前が空白でないこと(文字数の関係上別途続きます)
というエラーが生じました。
シート名に「.」が入っているのが原因だったりするでしょうか?初歩的なところもわかっておらず、すみません...。