• ベストアンサー

VBA…CVSを読込&挿入

エクセルVBAで、ある保存されているシートを現在開いているファイルに挿入(置き換え)することはできませんか? つまり、保存されているCVS形式(ファイル名:Sheet2)のデータを、現在開いているブックのSheet2に置き換えたいのです。可能でしょうか?よろしくお願い致します。

noname#91219
noname#91219

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

マクロの記録をつかってマクロが作れないかやってみましょう ツール > マクロ > 新しいマクロの記録 マクロ名を設定 > OK シート2を選択 既存の入力範囲を選択 『Delateキー』 データ > 外部データの取り込み > データの取り込み ファイルの種類を『テキストデータ』にして CSVファイルを選択 > 開く ウィザードに従って 必要項目の設定 > 完了 データの取り込み先を設定 > OK ツール > マクロ > 記録の終了 といった具合で出来上がったマクロを参考にしてみましょう ...

関連するQ&A

  • Excel VBA:特定のシートだけを保存・読込

     Sheet1~Sheet3まであるエクセルのデータを作っています。Sheet1と3は数式などの変更しないデータが入っており、Sheet2は開く度にデータを変えます。1も3もデータが大きいため保存に時間がかかりますので(開くのには時間はそんなにかかりません)、「2だけを保存」したいのですが、特定のシートだけをCVS形式で保存できるのでしょうか。(厳密には入力の度に保存するプログラムを組み込んでいます。) それから、Sheet1と3だけ入った先ほどのデータを開き、その後でCVS形式のSheet2を挟み込むことは出来るでしょうか。  わかりにくい質問になってしまったかも知れませんが、どなたか教えて頂けませんでしょうか。よろしくお願いします。

  • VBAでシート挿入を禁止したい。

    エクセル2007で、ファイルを閉じるとその状態が全部保存されるように下記VBAを使ったファイルを作りました。 Private Sub Workbook_BeforeClose(Cancel As Boolean)  ThisWorkbook.Save End Sub ファイルのシート数は全部で6枚です。ファイルを開くとsheet5だけが表示します。マクロを有効にするとそのシートを非表示にしてsheet1からsheet4が表示するようにしてあります。 リボンは非表示にして操作できないようにしてあります。この状態でもファイルを開いている間に誰かがシート挿入タブ等でシートを挿入して閉じてしまうとその分も保存されてしまい、シートがどんどん増えてしまいます。ブックの保護をするとシート表示切り替えがうまくいかないみたいです。シート挿入タブを非表示にする方法はありますか。なければVBAでシート挿入禁止はどのように書くのでしょうか。

  • excel2007 新規ブック作成時のvba処理

    excel2007にてVBA処理を行っています。 vbaにて 新規ワークブックを作成 最初に開いているワークブックのシートを、新規ワークブックへコピー この作業を行っているのですが、実行時に --- 移動先またはコピー先のブックの行列数が元のブックの行列数よりも少ないため、シートを移動先またはコピー先のブックに挿入できません。データを別のブックに移動またはコピーするには、データを選択して、[コピー] コマンドと [貼り付け] コマンドを使用して移動先またはコピー先のブックのシートに挿入してください。 --- このエラーが表示されます。 保存拡張子も「.xls」から「.xlsx」へ変更するも、互換モードの表示が外れません。 さらに原因を探ると、現在使っているPCのエクセルにて エクセルオプション→保存→ファイルの保存形式 この設定が「excel ブック」ではなく、「excel 97-2003ブック」のため、 新規ワークブック作成時に互換モードでファイルが作成されてしまうことで、2003と2007の行列数の違いからエラーになるようです。 確認のため、ファイル保存形式を2007仕様にすると、問題なく実行されました。 新旧のPCが混在するため、できたらファイル保存形式を97-2003モードで保持したまま、vbaでの新規ワークブックの作成は互換モードを外した状態で行いたいのですが、背景の色など、2007での特色があるため、2003形式には戻したくないのが心情です。 解決する方法はありますでしょうか?よろしくお願いします。

  • エクセルVBAの処理でブックの中に複数のシートがあり、そのシート名と同

    エクセルVBAの処理でブックの中に複数のシートがあり、そのシート名と同じ名前の他のブックにそのシートを順々に挿入していきたいのですがどうすればよいのでしょうか。 宜しくお願い致します。

  • エクセルのシートのデータをVBAを使ってCVS形式で保存したいのですが、文字化けしないようにするにはどうしたらいいでしょうか?

    エクセルのシートのデータをVBAを使ってCVS形式で保存したいのですが、文字化けしてしまいます。手動で「名前を付けて保存」すると文字化けしません。文字化けしないようにするにはどうしたらいいでしょうか? どなたかお教えいただきたく、よろしくお願いします。 ---------------------------------------------------------------------- Sub test5() Dim aaa As String Dim fname As Variant aaa = Format(Now, "YYMMDD") fname = Application.GetSaveAsFilename(InitialFileName:=aaa & ".csv", fileFilter:="csvファイル(*.csv), *.csv") If fname = False Then Exit Sub '保存 Worksheets("sheet1").SaveAs fname End Sub

  • シンクライアントでのVBAによるファイル保存

    ExcelのテンプレートファイルにVBAマクロを記述しています。 VBAにより新しいブックを開き、データを作り込んだ後、テンプレートファイルが置かれているフォルダに保存するマクロを作成しました。 リッチクライアント上では問題なく動くのですが、シンクライアント上で実行すると、  ActiveWorkbook.SaveAs Filename:='フルパスのファイル名'  ※フルパスのファイル名は、"C:\folder\file.xlsx"というような形式になっています。 のところでエラーになってしまいます。 パス付きのファイル名について、作法があるようでしたらお教えいただけますか。 よろしくお願い致します。

  • VBAを使用して自動的に保存する事について

     VBAでエクセルファイルを開き、そのエクセルファイルを上書き保存してファイルを自動的に閉じたいのですが…  参考書によると、Saveメソッドを使用するとよいと書いていますが、 上書き保存する場合は、一度も保存していないブックに対しては、Save asメソッドを使用するようにあります。  現在Save asメソッドを使用して保存は可能となりましたが、、、 保存する場所をVBAでファイルを開く際に指定した、Pathに指定し、 Msgボックスで保存する場所を表示させず、自動的に指定した場所にデータを上書き保存して、 作業を行ったエクセルシートを閉じたいのですが可能でしょうか??  エクセルシートを閉じる際は、VBAで作業を行うためのエクセルシートは開いたまま、作業のために開いたエクセルシートのみを閉じたいのです。  詳しい方がいらっしゃり、上記の事が可能であればご指導の程お願いします。  

  • Access-VBAでExcelファイルを作成する。

    こんにちわお世話になります。 「Excelにエクスポート」ボタンをクリックすると、Inputboxか何かが表示されて、Pathやファイル名やシート名を入力し、「実行」ボタンを押すと、新規にExcelのBookを、そのPath、ファイル名、シート名で作成する。その後、そのシートにデータを書き込むという作業をしたいのです。 AccessのデータをExcelの任意のシートを開いて書き込むという部分のVBAコードはわかりますので、新規Book作成部分のコードがわかるかたお願いします。 Office97を使用しています。

  • vba ブック間でシート名のコピーをするには

    始めまして、よろしくお願いします。 excel vba 初心者のものです。 2つのブックがあり同時に開いている状態です。1つのブックはデータがあります。 もう1つは空のブックです。 データのあるブックのシートには、 シート1のシート名は「8月1日」 シート2のシート名は「8月2日」 シート3のシート名は「8月4日」 シート4のシート名は「8月5日」 シート5のシート名は「Sheet1」 やりたいこと データ、シート名があるブックから、 空ブックのシートにシート名をコピーしてきてセルに貼り付けたいです。 シートに名前を付けてるシート数は不規則なので「Sheet1」まで来たら終了したいです。 どうぞご教授の程よろしくお願い申し上げます。

  • VBAで別のExcelブックのボタンのマクロ登録

    Excelブック1とExcelブック2があります。 Excelブック1はVBAで 1)Excelブック2を開いて 2)Excelブック1のワークシート(Sheet1)と  モジュールシート(Module1)を  Excelブック2にコピーします。 3)ワークシート(Sheet1)にはコントロール(ボタン)が貼り付けてあって  このボタンをクリックするとモジュールシート(Module1)の中の  Excute_Button()というプロシージャ(マクロ)を呼び出すため  Excelブック1のVBAで  wb.Worksheets("Sheet1").Shapes.Range(Array("Button 1")).Select  Selection.OnAction = "Excute_Button"  と記述してボタンのマクロの登録をします。   (wbはExcelブック2を指しています) 4)Excelブック2を保存して閉じる。 という処理をしています。 この後、Excelブック1を閉じて、 Excelブック2を開いてワークシート(Sheet1)のボタンをクリックすると Excelブック1が開いてしまいます。 Excelブック2のボタンのマクロの登録のマクロ名を見てみると Excelブック1のファイル名!Excute_Button となっています。 Excelブック1のVBAで、ここを単にExcute_Buttonだけにするには どのようにすればよいでしょうか。

専門家に質問してみよう