
タイトルにあるとおりダイアログボックスでcsvファイルを選択して、そのファイル内のシートをコピーして持ってくるマクロを作ってみたのですが、思っていた動きと違っています。
csvファイルは開くのですが、そのシートをコピーしておらず、どこから持ってきたのかわからないシートが挿入されてきます。
どこが間違っているかお教えいただけると幸いです。
Sub
Dim wb As Workbook
Set wb = ActiveWorkbook
Dim OpenFileName As String
OpenFileName = Application.GetOpenFileName(“Microsoft Excelブック,*.csv”)
Workbooks.Open OpenFileName
ThisWorkbook.Sheets(1).Copy After:wb.Sheets(1)
End Sub
よろしくお願いいたします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
ご存知のとおり、ActiveWorkbookは今開いていてアクティブになっているWorkbookを指します。
3行目に、Set wb = ActiveWorkbook とありますが、この時点でアクティブになっているのは自分(このブック)だけなので、wb の中身は自分(このブック)です。Workbooks.Open OpenFileName の後にこのコードを移動してください。
>ThisWorkbook.Sheets(1).Copy After:wb.Sheets(1)
シートをコピーするときは、左側にコピー元、右側にコピー先を指定します。また、シートの挿入位置は After: ではなく After:= で指定します。
まとめると、こうなります。
wb.Sheets(1).Copy After:=ThisWorkbook.Sheets(1)
下は修正後のコードです
---------------------------
Sub test()
Dim wb As Workbook
Dim OpenFileName As String
OpenFileName = Application.GetOpenFilename("Microsoft Excelブック,*.csv")
Workbooks.Open OpenFileName
Set wb = ActiveWorkbook
wb.Sheets(1).Copy After:=ThisWorkbook.Sheets(1)
End Sub
No.2
- 回答日時:
こんにちは
>どこから持ってきたのかわからないシートが挿入されてきます。
実行時の状況がイマイチわかりませんが、コードに記載されている通りに処理されているものと思います。
>ThisWorkbook.Sheets(1).Copy After:wb.Sheets(1)
なので、ThisWorkbook(=マクロの記述されているブック)の最初のシートが、wb(=実行時のアクティブブック)の2番目のシートとしてコピー追加されていませんか?
もしかすると、ThisWorkbookとwbは同じブックになっているかもしれませんね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) VBAでファイルを開くプログラムがエラーです 2 2023/02/21 16:56
- Visual Basic(VBA) 別ブックからシートのコピー 3 2022/04/01 20:07
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) マクロVBA 1シートをまとめる 閉じ方 初心者 SOS! 1 2022/06/17 14:54
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/24 08:33
- その他(Microsoft Office) マクロVBAについて 1 2022/09/06 18:12
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) シートをコピーする下記記述でダイアログを用いた記述がわかりません?( A = Dir(ThisWor 4 2022/08/22 12:26
このQ&Aを見た人はこんなQ&Aも見ています
-
ショボ短歌会
ひどい短歌を詠んでください。
-
初めて自分の家と他人の家が違う、と意識した時
子供の頃、友達の家に行くと「なんか自分の家と匂いが違うな?」って思いませんでしたか?
-
最速怪談選手権
できるだけ短い文章で怖がらせてください。
-
チョコミントアイス
得意ですか?不得意ですか?できれば理由も教えてください。
-
カラオケの鉄板ソング
歌えばその場が絶対盛り上がる「鉄板ソング」を教えてください!
-
【Excel VBA】データ貼り付け先のシート名選択
Excel(エクセル)
-
WorkBooksをオープンさせずにシートにコピーしたい【EXCEL VBA】
Excel(エクセル)
-
VBA 別ブックからコピペしたいのですが、軽くしたいです
Visual Basic(VBA)
-
-
4
VBA EXCELファイル選択⇒指定セルコピー
Excel(エクセル)
-
5
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
6
【VBA】特定の値が入った行をコピーして別シートに貼り付ける方法をおしえていただきたいです。
Excel(エクセル)
-
7
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
8
特定の文字を含むシートだけマクロ処理をしたい
Visual Basic(VBA)
-
9
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
10
VBAでファイルを開くときにファイル名でワイルドカードを使用したいです
その他(プログラミング・Web制作)
-
11
Excel VBAで同じフォルダ内のファイルを開くには?
Excel(エクセル)
-
12
エクセルVBAでファイル・シート名を指定して、現在のブックのシートにコピーしたい
Visual Basic(VBA)
-
13
マクロ 新しいシートにデータをコピペしてシートの名前を変更したい
Excel(エクセル)
-
14
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
15
【Excel VBA】任意のファイルだけでなく、シートまで指定する方法?
Visual Basic(VBA)
-
16
B列の最終行までA列をオートフィル
Visual Basic(VBA)
-
17
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
18
名前をつけて保存した後、元のファイルに戻るには
その他(コンピューター・テクノロジー)
-
19
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
20
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・昔のあなたへのアドバイス
- ・字面がカッコいい英単語
- ・許せない心理テスト
- ・歩いた自慢大会
- ・「I love you」 をかっこよく翻訳してみてください
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・はじめての旅行はどこに行きましたか?
- ・準・究極の選択
- ・この人頭いいなと思ったエピソード
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA シートをコピーする際に Co...
-
別ブックをダイアログボックス...
-
VBA 別ブックからコピペしたい...
-
ワイルドカード「*」を使うとう...
-
VBAで別のブックにシートをコピ...
-
【ご教示ください】VBAの記述方...
-
Access開いているブックのセル...
-
VBの処理結果をEXCELシ...
-
複数のエクセルブックをひとつ...
-
エクセルのマクロについて教え...
-
サーバーに保存したエクセルフ...
-
オブジェクトは、このプロパテ...
-
【マクロ】アクティブセルにブ...
-
エクセルVBAが途中で止まります
-
マクロで最終行を取得したい
-
エクセルのマクロを使ってメー...
-
【ExcelVBA】zip圧縮されたCSV...
-
同フォルダ内の串刺し集計と文...
-
VBA コードを実行すると画面が...
-
マクロVBA別Excelブックにデー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別ブックをダイアログボックス...
-
VBA シートをコピーする際に Co...
-
エクセルVBAが途中で止まります
-
VBA 別ブックからコピペしたい...
-
ワイルドカード「*」を使うとう...
-
VBAで別のブックにシートをコピ...
-
VBA コードを実行すると画面が...
-
【Excel VBA】書き込み先ブック...
-
Excelマクロ 該当する値の行番...
-
[Excel]ADODBでNull変換されて...
-
VBAで別ブックのシートを指定し...
-
【ExcelVBA】インデックスが有...
-
VBAで複数のブックを開かずに処...
-
【ExcelVBA】zip圧縮されたCSV...
-
【VBA】全シートの計算式を全て...
-
エクセルのマクロを使ってメー...
-
VBS Bookを閉じるコード
-
ユーザーフォームの切り替えに...
-
Excelのマクロコードについて教...
-
Excel2007VBAファイルの表示に...
おすすめ情報