いつもお世話になります
今同じシート名の存在を確認して、同じ名前のシート名が有る時は削除してから
シートを追加し、名前を変更するステートメントを作成しています
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も見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
VBAに詳しい方教えてください。
Visual Basic(VBA)
-
VBA 複数条件の分岐処理の上手な方法
Visual Basic(VBA)
-
VBAなくなるの?
Visual Basic(VBA)
-
-
4
エクセルのマクロについて教えてください。
Visual Basic(VBA)
-
5
Excel VBA 定義されたプロージャ名、関数名の取得
Visual Basic(VBA)
-
6
Vba 実数および実数タイプの変数について教えてください
Visual Basic(VBA)
-
7
Excelのマクロについて教えてください。
Visual Basic(VBA)
-
8
エクセルVBAコードで教えて下さい!
Visual Basic(VBA)
-
9
【ExcelVBA】インデックスが有効範囲にありません。の理由が分かりません
Visual Basic(VBA)
-
10
エクセルVBAにて =A1=B1とすれば A1とB1のセル内容が一緒だった場合 TRUE 違っていれ
Visual Basic(VBA)
-
11
Excel-VBAのmsgBox()の不思議
Visual Basic(VBA)
-
12
VBAを使用した時間管理
Visual Basic(VBA)
-
13
Excelのマクロについて教えてください。
Visual Basic(VBA)
-
14
エクセルVBAについて
Visual Basic(VBA)
-
15
VBAで大量のファイルをシート名ごとに転記やらいろいろしたい!
Visual Basic(VBA)
-
16
Vba SelStart、SelLen教えてください教えてください
Visual Basic(VBA)
-
17
エクセルVBA
Visual Basic(VBA)
-
18
エクセルVBAについて
Visual Basic(VBA)
-
19
VBA指定行削除
Visual Basic(VBA)
-
20
プログラミング
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
英数字のみ全角から半角に変換
-
住宅にカナを入力する際に丁目...
-
全角英数字の必要性が理解できない
-
IEからEdgeへの移行に伴うIMEの...
-
VBA 文字に半角が含まれて...
-
Accessのテキストボックスの入...
-
COBOLで全角変換を行いた...
-
エクセルにMicrosoft Barcode C...
-
COBOLでの全角文字の判定をした...
-
エクセルでの”々”の扱い
-
プログラミングでは、半角括弧...
-
C言語のコンパイルエラーなん...
-
「 _ _ 」の正式名称を...
-
VBA 「,」・空白・カタカナ等...
-
Accessで日付や数値を全角で表...
-
\\はエクセルでは全角?
-
コマンドプロンプト 全角を含ん...
-
[VBScript]バイト長の判定
-
COBOL・全角判定
-
名前の名字の間のスペースについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
英数字のみ全角から半角に変換
-
VBA 文字に半角が含まれて...
-
エクセルにMicrosoft Barcode C...
-
全角英数字の必要性が理解できない
-
IEからEdgeへの移行に伴うIMEの...
-
住宅にカナを入力する際に丁目...
-
プログラミングでは、半角括弧...
-
COBOL・全角判定
-
VB.net、テキストボックス入力...
-
word差し込み印刷 半角カタカ...
-
全角入力
-
Accessのテキストボックスの入...
-
VBで、String型のデータが、...
-
よくアカウント等に使われる 半...
-
char型全角数字から、int型半角...
-
[VBScript]バイト長の判定
-
全角チルダと波ダッシュに関す...
-
封筒の宛先で縦書きの書き方
-
Accessでのグループ化で全角・...
-
CString Format にて全角空白文...
おすすめ情報