いつもお世話になります
今同じシート名の存在を確認して、同じ名前のシート名が有る時は削除してから
シートを追加し、名前を変更するステートメントを作成しています
File2="WC(品)"
For Each ws In Worksheets
If ws.Name = FILE2 Then
Application.DisplayAlerts = False
Worksheets(ws.Name).Delete
Application.DisplayAlerts = True
Exit For
End If
Next ws
Worksheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = FILE2
既存のシートには前回作った"WC(品)"が有ったのですが
シートの有無チェックには掛からずに下記のエラーが発生しました
エラー:"この名前は既に使用されています。別の名前を入力してください"
エラーが出たときはちょっとびっくりしました。
今はStrConvを使ってエラーを回避させていますがちょっと気に掛かるので教えてください
ActiveSheet.Nameは全角と半角の区別は出来ないのでしょうか?
以上、よろしくお願い申しあげます
No.2ベストアンサー
- 回答日時:
こんにちは
>ActiveSheet.Nameは全角と半角の区別は出来ないのでしょうか?
.Nameの結果は文字列ですので、文字列比較で大文字小文字を混同することはありません。
区別できているからこそ、ご提示のチェックルーチンでは別物と見做されていることになります。
一方で、マクロは「手操作の自動化」のようなものですから、手操作でテストしてみればわかります。
例えば、「WC(品)」というシートがある状態で、
・"WC(品)"というシートを別に作成しようとすると、ご質問のエラーが出ます
(名前を逆にしても、当然ですが同様です)
・Worksheets("WC(品)").Activate を実行してみると、「インデックスが~」のエラーとなり、認識されません。
このことから、シート作成時のチェックでは「全角半角を同一視」しているけれどシートの指定時などでは「全角半角は区別される」という仕様になっているらしいことがわかります。
M$お得意の勝手な仕様ですが、そうなってしまっているので、文句を言っても仕方のないところですね。
No.3
- 回答日時:
vba中のチェックでは区別します。
シート名を付けるActiveSheet.Name = FILE2が区別していません。
手でシート名を変える操作をして見れば解ります。
半角、全角を区別していません。
これはvbaのスペックでは無くて、エクセルのスペックです。
ご回答の送信、ありがとうございます
そうなんですね、Excelのスペックなんですね
分りました、諦めます
これからもよろいたしますいたします
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) コード名シートA列と集計シートA列のコードが一致したら、コード名シートA5からk12の範囲をコピーし 1 2022/08/29 23:46
- Visual Basic(VBA) シート削除のマクロで「deleteメソッドは失敗しました」となります。助けてください! Sub 不要 6 2022/09/08 16:41
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) Excel VBA マクロ あるフォルダー内の複数のファイルを統合したいです 1 2024/02/19 21:37
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
- Visual Basic(VBA) Excel VBA マクロ シート名を変えずにA列にあるセル名の名前でファイルの分割をしたいです 3 2024/02/05 22:10
- Visual Basic(VBA) VBAで特定のシート以外のシート名を変更したい 2 2024/02/14 13:00
- Visual Basic(VBA) 【VBAエラー】Nextに対するForがありません 対策について 5 2022/11/21 21:26
- Visual Basic(VBA) Excel VBA 文字列のセルを反映させたいです 2 2024/02/24 00:06
このQ&Aを見た人はこんなQ&Aも見ています
-
見学に行くとしたら【天国】と【地獄】どっち?
みなさんは、一度だけ見学に行けるとしたら【天国】と【地獄】どちらに行きたいですか? 理由も聞きたいです。
-
【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
【お題】・忍者がやってるYouTubeが炎上してしまった理由
-
自分独自の健康法はある?
こうしていると調子がいい!みたいな自分独自の健康法、こだわりはありますか?
-
AIツールの活用方法を教えて
みなさんは普段どのような場面でAIツール(ChatGPTなど)を活用していますか?
-
「これいらなくない?」という慣習、教えてください
現代になって省略されてきたとはいえ、必要性のない慣習や風習、ありませんか?
-
VBAコードのインデント表示
Visual Basic(VBA)
-
VBAでCOPYを繰り返すと、処理が途中でアイドルする原因はなんでしょうか
Visual Basic(VBA)
-
VBAなくなるの?
Visual Basic(VBA)
-
-
4
VBA コードどこがおかしいですか?
Visual Basic(VBA)
-
5
VBA指定行削除
Visual Basic(VBA)
-
6
Excelのマクロについて教えてください。
Visual Basic(VBA)
-
7
エクセルVBAコードで教えて下さい!
Visual Basic(VBA)
-
8
Excel 範囲指定スクショについて Excelで範囲指定してスクリーンショットする機能がありますが
Visual Basic(VBA)
-
9
VBAのエラー表示の対処法について
Visual Basic(VBA)
-
10
プログラミング
Visual Basic(VBA)
-
11
ExcelVBAマクロで実行した時の疑問
Visual Basic(VBA)
-
12
VBA一覧取得 再投稿
Visual Basic(VBA)
-
13
【ExcelVBA】値を変更しながら連続でPDFを作成し,それらを結合した状態で出力するコード
Visual Basic(VBA)
-
14
VBAコードについて教えてください。
Visual Basic(VBA)
-
15
Excelのマクロについて教えてください。
Visual Basic(VBA)
-
16
VBの色を変えるにはどうしたらいいですか?
Visual Basic(VBA)
-
17
再質問です。マクロの修正箇所を教えてください。
Excel(エクセル)
-
18
IF文、条件分岐の整理方法
Visual Basic(VBA)
-
19
サブフォルダに格納されているファイルを、ファイル名ごとに条件分岐させたい
Visual Basic(VBA)
-
20
【ExcelVBA】5万行以上のデータ比較の効率的な処理方法について
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【選手権お題その3】この画像で一言【大喜利】
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・ちょっと先の未来クイズ第6問
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
住宅にカナを入力する際に丁目...
-
英数字のみ全角から半角に変換
-
エクセルにMicrosoft Barcode C...
-
全角入力
-
IEからEdgeへの移行に伴うIMEの...
-
LaTeXで半角カンマと全角カンマ...
-
VB.net、テキストボックス入力...
-
ACCESS VBA でのバイナリデー...
-
VBAでシングルクオート(8217)を...
-
C言語のコンパイルエラーなん...
-
POM
-
Excelの中に全角ひらがな、漢字...
-
[Excel VBA] ODBCによる外部デ...
-
Accessでのグループ化で全角・...
-
「一角」って何でしょうか
-
エクセルの検索が正しくできな...
-
COBOL・全角判定
-
メモ帳の段落の揃え方
-
アクセスで文字列中の空白を削...
-
VBA 文字に半角が含まれて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
英数字のみ全角から半角に変換
-
住宅にカナを入力する際に丁目...
-
word差し込み印刷 半角カタカ...
-
IEからEdgeへの移行に伴うIMEの...
-
全角英数字の必要性が理解できない
-
エクセルにMicrosoft Barcode C...
-
VBA 文字に半角が含まれて...
-
メモ帳の段落の揃え方
-
エクセルでの”々”の扱い
-
プログラミングでは、半角括弧...
-
COBOL・全角判定
-
半角/全角文字混在データの分...
-
エクセルの検索が正しくできな...
-
.NET3.5におけるキーボードの「...
-
VB.net、テキストボックス入力...
-
正規表現で、全角文字を半角文...
-
Accessのテキストボックスの入...
-
CString Format にて全角空白文...
-
LaTeXで半角カンマと全角カンマ...
-
封筒の宛先で縦書きの書き方
おすすめ情報