No.4ベストアンサー
- 回答日時:
Workbooks.Open Filename:=ThisWorkbook.Path & "\" & toBook
を
Workbooks.Open Filename:="Aフォルダ内Bフォルダ\" & toBook
に変えてください。
No.3
- 回答日時:
以下のマクロを標準モジュールへ登録してください。
コピー先のブックは、”速報.xlsx”としました。(”速報book.xlsx”ではありません)
速報.xlsxのオープンはマクロ側で行いますが、マクロ側でクローズは行いません。(クローズの旨提示されていない為)
マクロのあるブックと速報.xlsxは同じフォルダ内にある前提です。
--------------------------------------------------------
Option Explicit
Public Sub ブック間シートコピー()
Dim fromsheet As String
Dim toBook As String
Dim toSheet As String
Dim ix As Long
toBook = "速報.xlsx"
fromsheet = "速報シート"
toSheet = ThisWorkbook.Worksheets(fromsheet).Range("A1").Value
If toSheet = "" Then
MsgBox ("A1のシート名不正")
Exit Sub
End If
Workbooks.Open Filename:=ThisWorkbook.Path & "\" & toBook
ix = CheckSheet(toBook, toSheet)
If ix > 0 Then
If MsgBox("重複する名前がありますが上書きしますか?", vbYesNo) <> vbYes Then
Exit Sub
End If
Application.DisplayAlerts = False 'シート削除時の警告を出さないようにする
Workbooks(toBook).Worksheets(ix).Delete '既に該当シートがあるなら削除する
Application.DisplayAlerts = True 'シート削除時の警告を出すようにする(元に戻す)
End If
'シートをコピーする(一番左へ)
ThisWorkbook.Worksheets(fromsheet).Copy before:=Workbooks(toBook).Worksheets(1)
Workbooks(toBook).Worksheets(1).Name = toSheet
MsgBox ("処理完了")
End Sub
'シート名チェック
Private Function CheckSheet(ByVal book, ByVal sheet As String) As Long
Dim ix As Long
For ix = 1 To Workbooks(book).Worksheets.Count
If LCase(Workbooks(book).Worksheets(ix).Name) = LCase(sheet) Then
CheckSheet = ix
Exit Function
End If
Next
CheckSheet = -1
End Function
No.2
- 回答日時:
補足要求です
①”Abook”と”速報book”の拡張子は何でしょうか。
②”Abook”と”速報book”は両方とも既にオープンされている前提でよいですか。
③このマクロは”Abook”に格納する前提でよいですか。
No.1
- 回答日時:
こんにちは
大雑把に二通りの考え方があるかと思います。
◇事前に既存のシート名をチェックする
For Each sht In Worksheets
If sht.Name = newName Then MsgBox "すでに存在する"
Next sht
みたいな感じ。
◇エラーが出たら処理する
すでに同じ名前が存在する状態で名前を設定しようとすると、VBAのエラーが発生しますので、
On Error ~~
でエラーの発生をチェックし、発生していたらエラー処理を行う
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 特定の文字を含むシートだけマクロ処理をしたい 1 2023/05/22 01:43
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 1 2023/02/27 22:21
- Visual Basic(VBA) VBAマクロでシートコピーした新シートにコピー元シートとの計算式の入れ方を教えて下さい。 5 2022/11/20 09:48
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/26 13:19
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- Visual Basic(VBA) 条件に一致した場合の処理 2 2022/10/18 06:30
- Visual Basic(VBA) エクセルのマクロで対象ごとにシート分けしてその内容をセルに書き込みたい 9 2022/08/24 13:23
- Visual Basic(VBA) Excel VBA 大量のレコードからある列の重複数をカウントする方法?拡張編 7 2022/08/22 13:43
- Visual Basic(VBA) ExcelのVBAを使い、複数シートの同一箇所を、同一条件にて一括でソルバーを回す方法について 1 2022/04/23 11:49
このQ&Aを見た人はこんなQ&Aも見ています
-
カンパ〜イ!←最初の1杯目、なに頼む?
飲み会で最初に頼む1杯、自由に頼むとしたら何を頼みますか? 最初はビールという縛りは無しにして、好きなものを飲むとしたら何を飲みたいですか。
-
一回も披露したことのない豆知識
あなたの「一回も披露したことのない豆知識」を教えてください。 「そうなんだね」と「確かに披露する場所ないね」で評価します。
-
遅刻の「言い訳」選手権
よく遅刻してしまうんです…… 「電車が遅延してしまい遅れました」 「歯医者さんが長引いて、、、」 「病院が混んでいて」 などなどみなさんがこれまで使ってきた遅刻の言い訳がたくさんあるのではないでしょうか?
-
この人頭いいなと思ったエピソード
一緒にいたときに「この人頭いいな」と思ったエピソードを教えてください
-
ギリギリ行けるお一人様のライン
おひとり様需要が増えているというニュースも耳にしますが、 あなたが「ギリギリ一人でも行ける!」という場所や行為を教えてください
-
エクセルのシート名変更で重複した時のvbaの処理
Visual Basic(VBA)
-
VBAでシートコピー後、シート名が重複している時の処理
Access(アクセス)
-
VBAで同じシート名のコピー時は処理中止したいのですが・・・
Visual Basic(VBA)
-
-
4
Excel VBA シート名変更時、重複していたら連番を付けたい
その他(Microsoft Office)
-
5
Excelシート名が重複してらシート名に連番を付加させる方法
Excel(エクセル)
-
6
メッセージボックスでシート名を変更するマクロ。
Word(ワード)
-
7
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
8
InputBoxに入力した言葉をシート名にしたい!
Excel(エクセル)
-
9
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
10
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
11
マクロ 新しいシートにデータをコピペしてシートの名前を変更したい
Excel(エクセル)
-
12
ユーザーフォームのテキストボックスに前回入力した値を表示する Excel
Visual Basic(VBA)
-
13
VBAでセルに入っている日付をシート名にする
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【ExcelVBA】sheet作成時にマク...
-
マクロ実行ボタンがコピー出来ない
-
VBAでシートコピー後、シート名...
-
VBA シートの切り替えができな...
-
エクセル/マクロ Exit Subが実...
-
エクセル 「実行時エラー"13":...
-
エクセル、シートのコピーについて
-
Access2010 「演算子がありませ...
-
不明なコマンドです("FROM")。...
-
オペランドが足りませんとコメ...
-
mfc42.dllファイルってなんです...
-
Chromebook Linux Extundelete...
-
named.rfc1912.zonesをコメント...
-
プログラムをBuildすると...
-
Microsoft Excel VBAの参照設定
-
InstallShieldWizardのエラー
-
IEのActiveXダウンロードがブロ...
-
困ってます。
-
Kernel-Power Event ID 41 エラー
-
『PHP』 MAMPで$_SERVER["REMOT...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【ExcelVBA】sheet作成時にマク...
-
エクセル/マクロ Exit Subが実...
-
VBA シートの切り替えができな...
-
エクセル 「実行時エラー"13":...
-
マクロ実行ボタンがコピー出来ない
-
VBAでシートコピー後、シート名...
-
エクセル 複数シートのフィル...
-
エクセル、シートのコピーについて
-
エクセルのシートを自動でコピー
-
フォルダ内の複数のファイルか...
-
こんなマクロ作れませんか?
-
【エクセル】複数の文字を同時...
-
フェイス・シートについて教え...
-
Excel2000でシート上にボタンを...
-
不明なコマンドです("FROM")。...
-
Access2010 「演算子がありませ...
-
オペランドが足りませんとコメ...
-
エクセルの文字間スペースを入...
-
mfc42.dllファイルってなんです...
-
Excel2010でふりがなが漢字にな...
おすすめ情報
Abook及び、速報bookはエクセルです。
以下、自分で調べて組んでみたのですが、うまくいきません。
ちなみに、マクロは初心者です。
---------------------------------
Abook.xlsxにマクロを組んでいます
速報.xlsxを開く
Abook.xlsxの速報シートを速報.xlsxの先頭にコピー
(※A1セルの名前で保存)
同じシートの名前がある場合、メッセージボックスが出るようにしたい
(同じ名前のシートがあります。上書きしますか?)
yes 上書き
no 処理中断
よろしくお願いいたします
保存先のAbook.xlsxはAフォルダ内にあり、速報.xlsxはAフォルダ内のBフォルダ内にあるのですが、組むことはできますでしょうか?