
標題の件、シート追加時に、既に同じ名前のシートがあると
エラーが表示されます
【やりたい事は】
条件分岐
1 既に、同じ名前のシートが無い場合⇒通常処理
2 既に、同じ名前のシートがある場合
⇒メッセージ「既に同じシートがあります」を表示の上エラーを無視し、次のコードへ進みたい
ご存じの方、やり方、アドバイスをお願いします
【コード内容】
コントロールブックにある、Sheet1をコピーして
あいうえおブックに、貼付。Sheet1の名前を 依頼データに 変更する
【エラー表示】
1004
この名前は既に使用されています。他の名前を使用して下さい。
【コード】
Sub シートを別のブックにコピーする()
Dim filepath2 As String
Dim wb2 As Workbook
Dim ws2 As Worksheet
filepath2 = ThisWorkbook.Worksheets("転記元シート").Cells(7, 1) 'あいうえおブック
Set wb2 = Workbooks.Open(filepath2)
Dim copysheet As Worksheet
Set copysheet = ThisWorkbook.Worksheets("Sheet1")
' ブックの末尾にコピー
copysheet.Copy After:=wb2.Worksheets(wb2.Worksheets.Count)
ActiveSheet.Name = "依頼データ"
End Sub
No.3ベストアンサー
- 回答日時:
>以下のコードはどのような 動きをする為の
ものなのでしょうか?
>On Error GoTo 0
On Error GoTo 0を行うと
On Error Resume Nextでエラーを無視するようにしたものを
もとに戻します。
従って、On Error GoTo 0 の後は
エラー発生時、エラーメッセージが表示されるようになります。
On Error Resume Nextを実行後は、
エラー発生時、そのエラーを無視して、次に進むようになります。
以降、永久に、ほかのエラーが発生しても、エラーを無視するなら、
そのままで良いです。
しかしながら、望んでいるのは、
ActiveSheet.Name = "依頼データ"
でエラーが発生した時だけなので、
そのあとは、元に戻すようにします。
下記URLが参考になるかと。
https://www.cellnets.co.jp/dev_column/8908
分かりやすい解説ありがとうございました
On Error Resume Nextを実行後は、
エラー発生時、そのエラーを無視して、次に進むようになります。
以降、永久に、ほかのエラーが発生しても、エラーを無視するなら、
そのままで良いです。
しかしながら、望んでいるのは、
ActiveSheet.Name = "依頼データ"
でエラーが発生した時だけなので、
そのあとは、元に戻すようにします。
No.2
- 回答日時:
以下のようにしてください。
Sub シートを別のブックにコピーする()
Dim filepath2 As String
Dim wb2 As Workbook
Dim ws2 As Worksheet
filepath2 = ThisWorkbook.Worksheets("転記元シート").Cells(7, 1) 'あいうえおブック
Set wb2 = Workbooks.Open(filepath2)
Dim copysheet As Worksheet
Set copysheet = ThisWorkbook.Worksheets("Sheet1")
' ブックの末尾にコピー
copysheet.Copy After:=wb2.Worksheets(wb2.Worksheets.Count)
On Error Resume Next
ActiveSheet.Name = "依頼データ"
On Error GoTo 0
End Sub
ご指導ありがとうございました。
うまく動きました
以下のコードはどのような 動きをする為の
ものなのでしょうか?
ご指摘痛ければと思います
On Error GoTo 0
No.1
- 回答日時:
Sub CheckAndProcessSheet()
Dim sheetName As String
Dim ws As Worksheet
Dim sheetExists As Boolean
' 確認したいシート名を設定
sheetName = "確認したいシート名"
sheetExists = False
' シートの存在確認
For Each ws In Worksheets
If ws.Name = sheetName Then
sheetExists = True
Exit For
End If
Next ws
If sheetExists Then
' シートが存在する場合の処理
MsgBox "既に同じシートがあります", vbExclamation
' エラーを無視して次のコードへ進む
On Error Resume Next
' 次の処理を記述
' ...
On Error GoTo 0 ' エラーハンドリングを元に戻す
Else
' シートが存在しない場合の通常処理
' ...
End If
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excelのマクロについて教えてください。 1 2024/06/18 09:20
- Visual Basic(VBA) 【マクロ】1つのマクロの中に、ブック指定とシート指定が混在しても良いのですか? 2 2024/05/16 07:13
- Visual Basic(VBA) 特定の文字を含むシートだけマクロ処理をしたい 1 2023/05/22 01:43
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2024/07/02 08:51
- Excel(エクセル) 【マクロ】違うフォルダにあるファイルから、転記するには? 4 2023/09/26 19:49
- Visual Basic(VBA) Excelのマクロについて教えてください。 2 2024/06/14 16:38
- Excel(エクセル) 【マクロ】その時、その時で変わる範囲を、フォルダの違う別ブックへ転記する為には ※参考画像あり 3 2024/05/11 10:33
- Excel(エクセル) 【マクロ】毎回、ファイル名が変わるファイルへの 文字列の転記 2 2024/05/02 14:17
- Visual Basic(VBA) クリップボードに貼付している文字列が、マクロで別ブックへ転記すると、消えてしまう 1 2023/10/15 13:36
- Excel(エクセル) (マクロ)vlookupの元データを同じブックのシートではなく、別のブックに設定したい 1 2024/06/02 10:03
このQ&Aを見た人はこんなQ&Aも見ています
-
性格悪い人が優勝
できるだけ性格悪い人になって回答をお願いします。
-
【お題】甲子園での思い出の残し方
【お題】「球場の砂を持って帰る」はもう古いと思った高校球児が、甲子園で負けた際に、思い出に残そうと思って行ったこと
-
性格いい人が優勝
できるだけ性格いい人になって回答をお願いします。
-
これ何て呼びますか Part2
あなたのお住いの地域で、これ、何て呼びますか?
-
人生で一番お金がなかったとき
人生で一番お金がなかったときって、どんなときでしたか?
-
エクセルの設定、下へスクロールすると表のヘッダ項目がシートの列番号の部分に表示される
Excel(エクセル)
-
複数条件の合計を求める数式を教えてください。
Excel(エクセル)
-
Excel関数の解決方法
Excel(エクセル)
-
-
4
ユーザーマクロ作成
Excel(エクセル)
-
5
自動的に日付入力 応用
Excel(エクセル)
-
6
Excelの条件付書式について教えてください。
Excel(エクセル)
-
7
【マクロ】Call関数で呼び出した場合、共通の変数宣言は、省略できますか?
Excel(エクセル)
-
8
【マクロ】データ移動について代替案(コード)or助言を下さい
Excel(エクセル)
-
9
年間の医療費のデータがあり、月々の集計をする計算式を教えていただけませんか
Excel(エクセル)
-
10
セル内が空白設定なのに#N/Aと出てくるのを回避する方法を教えてください。
Excel(エクセル)
-
11
Excelの開始ブックを固定したい マクロなしで
Excel(エクセル)
-
12
エクセル 同じ行の隣り合う数字の幅を広げるには
Excel(エクセル)
-
13
別のシートの指定列の最終行を返す関数の式を教えて下さい。
Excel(エクセル)
-
14
エクセルで、一部のセルだけ固定し そのセルがある行・列で挿入をしても、その固定したセルだけは動かない
Excel(エクセル)
-
15
エクセルオートサムでセル選択できません
Excel(エクセル)
-
16
エクセルの設定、特定の列以降が無いワークシートを作れますか
Excel(エクセル)
-
17
Excelの関数を教えて下さい。
Excel(エクセル)
-
18
スプレッドシートでの数値集計
Excel(エクセル)
-
19
システムファイルについて
Excel(エクセル)
-
20
Excelでの文字入力について
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・昔のあなたへのアドバイス
- ・字面がカッコいい英単語
- ・許せない心理テスト
- ・歩いた自慢大会
- ・「I love you」 をかっこよく翻訳してみてください
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・はじめての旅行はどこに行きましたか?
- ・準・究極の選択
- ・この人頭いいなと思ったエピソード
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【マクロ】コードを少しでも、...
-
【マクロ、画像あり】A表かB表...
-
列挿入をVBAで
-
エクセルでカウントする
-
エクセルのファイルのコピーを...
-
エクセルの難問。「コピペする...
-
エクセルの循環参照を削除したい!
-
空白処理を空白に
-
【マクロ 画像あり】Exact関数...
-
名前の間のスペースをそろえる...
-
重複しない値を抽出したい
-
エクセルでラベルシールを印刷...
-
Excelファイルを開くと私だけVA...
-
至急お願いします!エクセルの...
-
Excelに貼ったXのURLのリンク...
-
【マクロ 画像あり】セル範囲の...
-
Excelの数式?について質問です...
-
スプレッドシート(Excelでも良...
-
空白のはずがSUBTOTAL関数でカ...
-
【マクロ】条件付き書式設定を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの設定、下へスクロー...
-
別のシートの指定列の最終行を...
-
【マクロ】シート追加時に同じ...
-
Excelファイルを開くと私だけVA...
-
Excelの関数を教えて下さい。
-
マクロを実行すると、セル範囲...
-
エクセルの設定、特定の列以降...
-
Excelの条件付書式について教え...
-
Excelで作成した出欠表から日付...
-
Excelでの文字入力について
-
Excel 日付の表示が直せません...
-
Excel関数の解決方法
-
システムファイルについて
-
自動的に日付入力 応用
-
UNIQUE関数の代用
-
エクセル内に読み込んが画像の...
-
勤務外時間を出す表が作りたい
-
Excel 偶数月の15日(土日祝...
-
【マクロ】Call関数で呼び出し...
-
【マクロ】1回目の実行後、2...
おすすめ情報