A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
この種のコードは、かなりエラーが出やすいです。
しかし、マクロで変えざるを得ないという厄介なものがあります。
手動で入れたものは、後々エラーを呼び込みます。
本来は、シート名のチェッカーを入れなくてはなりませんが、面倒なので割愛しています。
全角半角に関わらず 31字より以上
使用出来ない文字の検出
":", "\", "/", "?", "*", "(", ")"
の規則があります。
次の問題としては、まず、リストの正確さでしょうね。
リストの少なくとも、A列側は、マクロで出さないとうまくいきません。
以下の二つのマクロには矛盾があります。
SheetsNameList では、シートの名前を出させておいて、
ChangeSheetNames では、シートのインデックスを使っています。
これをわざとしています。
エラーが発生した所は飛び越えていきます。
'//
Sub SheetsNameList()
'一覧の名前を出す(A列は触らないこと、順序はそのままにします。)
Dim i As Long
For i = 1 To Worksheets.Count
Cells(i + 1, 1).Value = Worksheets(i).Name
Next i
End Sub
Sub ChangeSheetNames()
Dim x As Variant
Dim i As Long
x = Range("A2", Cells(Rows.Count, 1).End(xlUp).Offset(, 1)).Value '配列
On Error GoTo ErrHandler
For i = LBound(x) To UBound(x)
Worksheets(i).Name = x(i, 2) '2を1にすると元に戻る
Next i
Exit Sub
ErrHandler:
Resume Next
End Sub
'//
No.4
- 回答日時:
No2です。
はてどうしてでしょうかね。A列にあるシート名が存在しない
B列にシート名として使用できない文字がある
かな?
どんなエラーメッセージなのかもわからないのでこれくらいですね。
でも、よく考えたら、一度、変換してしまうとA列を修正しないと使えないですよね。
使いづらくないですか。
Sub ボタン1_Click()
For i = 2 To Range("A" & Rows.Count).End(xlUp).Row
Sheets(i).Name = Range("B" & i).Value
Next
End Sub
として、上から2枚のシートから順に名前を変更した方が使いやすくないですか。
No.3
- 回答日時:
失礼しました。
シート名の対応表が A,D列で2行目から始まるとして
は
シート名の対応表が A,B列で2行目から始まるとして
と云う事で訂正します。
ありがとうございます。
いただいたマクロですが 上手くできませんでした。
私の設定がおかしいのか?
具体的にはSheetの名称を下記のように一括変更したいです。
A列 B列
Sheet変換用 Sheet名
Sheet1 りんご
Sheet2 みかん
Sheet3 すいか
Sheet4 いちご
Sheet5 さくらんぼ
Sheet6 レモン
Sheet7 きゅうり
Sheet8 じゃがいも
Sheet9 レタス
No.2
- 回答日時:
シート名の対応表が A,D列で2行目から始まるとして
Sub ボタン1_Click()
For i = 2 To Range("A" & Rows.Count).End(xlUp).Row
Sheets(Range("A" & i).Value).Name = Range("B" & i).Value
Next
End Sub
で大丈夫ではないでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) SUMIFSと日付変換 10 2023/04/16 15:38
- Visual Basic(VBA) Sheet「状況」から、分類の年齢別カウント数をSheet「D表」へ転記する下記マクロを作っています 7 2022/12/14 17:57
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- その他(Microsoft Office) オフィス365のエクセル 3 2023/06/29 13:10
- スーパー・コンビニ 「コンビニで エクセルをプリントアウト」することができますか? 8 2022/06/16 15:54
- Visual Basic(VBA) このプログラムなんですがsheetにデータを置いて表示できるようにしてありますがsheetに101を 2 2023/02/23 20:13
- Visual Basic(VBA) VBA For Each 〜 複数条件について 3 2022/10/20 20:05
- Visual Basic(VBA) VBAでvlookup関数から、別シート参照するやり方・・・ 2 2022/11/14 18:49
- 英語 中二の英語についてです。 私は地図を描くのに紙が1枚必要です。 I need a sheet of 5 2022/08/19 17:11
- その他(プログラミング・Web制作) python文字化けエラーが発生しているようです 3 2022/04/13 19:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
文字の色も参照 VLOOKUP
-
Excel VBA ピボットテーブルに...
-
VBAで繰り返しコピーしながら下...
-
エクセルのブック分割マクロを...
-
ExcelのVlookup関数の制限について
-
エクセルの列の限界は255列以上...
-
エクセルの保護で、列の表示や...
-
エクセルで、book全体の検索&...
-
エクセルの複数シートにあるデ...
-
エクセルで、チェックボックス...
-
エクセルの表を自動的に、項目...
-
Excelでの並べ替えを全シートま...
-
VBAで項目ごとにシートを分けた...
-
エクセル マクロ 標準モジュー...
-
Excelで条件別にシートを振り分...
-
Excel の複数シートの列幅を同...
-
別シートから月(MONTH)で抽出す...
-
VBA 複数シートをひとつにまと...
-
エクセルの特定の複数の行を非...
-
SUMPRODUCTにて別シートのデー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelのVlookup関数の制限について
-
文字の色も参照 VLOOKUP
-
オートフィルタ使用時にCOUNTIF...
-
エクセルの保護で、列の表示や...
-
VBAで繰り返しコピーしながら下...
-
エクセル関数に詳しい方、教え...
-
【条件付き書式】countifsで複...
-
Excel の複数シートの列幅を同...
-
エクセル マクロ 標準モジュー...
-
エクセルで横並びの複数データ...
-
エクセルの列の限界は255列以上...
-
Excelでの並べ替えを全シートま...
-
VLOOKアップ関数の結果の...
-
SUMPRODUCTにて別シートのデー...
-
エクセルで、チェックボックス...
-
Excel VBA ピボットテーブルに...
-
【エクセル】1列のデータを交...
-
エクセルVBAで、ある文字を含ん...
-
エクセルのブック分割マクロを...
-
excel 複数のシートの同じ場所...
おすすめ情報
失礼いたしました。
sheet1 AAA
sheet2 BBB
の、AAA、BBBは任意で正確にはリンゴ、すいかなどの単語が入ります。