• 締切済み

Excelの範囲指定セルににcsvファイルのデータを貼り付け

Excelファイルの任意のセルにCSVファイルのデータを貼り付けたいと思っています。 各ワークシートにCSVファイルのデータを読み込むマクロを書いて実行していたのですが、ファイルが増えてしまったのでもっと簡単に処理ができたら、と思い相談させていただきます。 Visual C# 2008の勉強を始めて間もないので初歩的な質問かと思いますが、宜しくお願い致します。 希望する処理の流れは 1.「Excelファイル選択」ボタンを押すと、指定のフォルダ内のxlsファイルをリストボックスに表示 2.Excelファイル選択 3.「CSVファイル選択」ボタンを押すと、指定のフォルダ内のcsvファイルをリストボックスに表示 4.Excelファイルに対応するCSVファイル選択 5.「データ読込」ボタンでテキストファイルのデータをExcelファイルの指定のセルに貼り付け 6.Excelファイルを保存して終了 1.と3.のリストボックスへのファイル表示はできているのですが、選択したExcelファイルにcsvファイルのデータの貼り付けの方法がわかりません… それぞれのファイルを変数に格納して、更にcsvファイルのデータを配列変数に流して、繰り返し処理で貼り付けていくのかな?と想像しているのですが… http://support.microsoft.com/kb/302096/ja 上記のページを参考にしたのですが、外部ファイルのデータを指定のセルに入力するにはどうしたらよいのかわかりませんでした。 ・Excelファイルの指定のセルはB12~H1011までの7列1000行です。 ・csvファイルは1000行に満たないこともあります。 ・入力するデータ型は整数と文字列です。 PC環境 Windows XP SP3 Excel 2007 Visual C# 2008 要領を得ない説明で申し訳ありませんが、どうぞ宜しくお願い致します。

みんなの回答

  • chie65535
  • ベストアンサー率43% (8514/19356)
回答No.1

どう考えても、Visual C# 2008でやるよりは、Excel VBAでやった方が1000倍簡単。 明らかに「言語の選択ミス」なので、すぐに「Visual C# 2008のままで行くべきか、考え直した方が良い」です。 >希望する処理の流れは Excel VBAで1.~6.の処理を書いたら、多分、10数行で書けます。 [技術者向] コンピューター > プログラミング > Visual Basic のカテゴリで「Excel VBAで実現したい」と再質問すれば、すぐに回答が付くと思われます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルVBAで CSVファイルからのデーター参照

    エクセル2000を使用しています。 CSVで社員リストを作成して、エクセル上の指定のセルに 氏名を入力すると、年齢、性別、入社日等が他のセル表示出来るように 指定のですが、VBAでやるとすれば、どの様なコードになるのでしょうか??  現在は、OPENイベントを使用して、エクセルの別のシートにCSVファイルの全ての内容を読み込んでいます。そしてMAINのシートではLOOKUPを使用しているのですが、ファイル起動時に時間が掛かり、困っています。 エクセルとCSVの間で直接、データーのやり取りをしたいのですが・・・。

  • エクセルで任意のcsvファイルを指定して関連ずけたい

    エクセルでフォームが出来ていて,特定したcsvファイル(ファイル名指定)の指定データ値をフォームに割り当て表示させています.フォームとcsvファイルは別になっています. csvデータファイルのデータの内容はフォームに合わせてあるので考えなくていいのですが,任意のcsvファイルをPCに保存してあり,そのファイルが複数あり選択指定できるようにしたいのですが,お教えいただけないでしょうか.よろしくお願いいたします.

  • CSVをエクセルの指定の位置に

    CSV出力したデータをエクセルで読み取るときに エクセルの指定のセルに指定の項目が入るようにしたいのですがどうすればいいのでしょうか? CSVデータをそのまま読み込むと項目が並んで表示されてしまいます。 エクセルで作ったフォーマットにCSVデータを反映させて印刷したいのです。

  • CSVダウンロードファイルをEXCELで表示する

    CSVファイルをダウンロードすると、ダイアログボックスが表示され、「開く」「保存」「キャンセル」の3つのボタンが表示されます。 「保存」してからEXCELで開くとカンマで区切られたデータが、各セルに1つづつ入った形で表示されますが、「開く」ボタンを押すと、EXCELが起動して、一番左側のセルに「"XXXX","xxxxx","AAA"」のように表示されます。 保存してから開いたときと同じように「XXXX」「xxxx」「AAA」が各セルに入って表示するにはどのように設定をすればいいのでしょうか。 現在の設定は、エクスプローラの「ツール」>「フォルダオプション」>「ファイルの種類」から、拡張子CSVのときはEXCELで開く設定をしています。 よろしくご教授ください。

  • CSVをエクセルの指定セルへ、または専用ソフト

    CSVで出力したデータをエクセルで読み取る場合に、エクセルの 指定セルに、指定の項目が入るようにしたいのですが方法はあるのでしょうか。 CSVデータをそのまま読み込むと項目が並んで表示されてしまいます。 エクセルで作ったフォーマットにCSVデータを反映させて印刷したいのです。 また特にエクセルにはこだわりません、専用ソフトを使ってもいいので、自分で作ったフォームに自動で入ることが目的です。 詳しい方がいらっしゃいましたらアドバイスよろしくお願いいたします。

  • エクセル2007で既に開かれているCSVファイル

    のセルA1に特定の文字が入力されているファイルに対してマクロを実行したいのです。 会社のイントラネットから各種データを開くと(ダウンロードではありません。)以下のファイル名になります。 list.csv , list(1).csv , list(2).csv , list(4).csv , … , list(n).csv ←list(3).csvは不要だったので閉じられている例です。 マクロ実行前に、例えば list.csv と list(4) のセルA1に特定の文字が入力されている場合は、どちらかを選択するか、処理を中止する。(希望は前者ですが。。。) 対象のCSVファイルが無ければ(CSVファイルが開かれていない、または、A1が不一致)メッセージを出力する。 Sub Sample() Dim myChkBook As Workbook Dim i As Integer On Error GoTo Err0 Set myChkBook = Workbooks("List.csv") 'この時にセルA1の文字を比較したいです。 Call 処理 Exit Sub Err0: For i = 1 To 5 '←5は少なくとも list(n).csv のnまで処理したい。 On Error Resume Next Set myChkBook = Workbooks("List(" & i & ").csv") '←現状では、開かれていないファイルが On Error GoTo 0                      'あるとエラーになってしまいます。 Call 処理 Exit Sub Next i Exit Sub Err1: MsgBox "対象のCSVファイルが見つかりませんでした。" End Sub 出だしで躓いてしまい、悩んでおります。 良い方法をご教示いただければと思い、質問致します。 宜しくお願い致します。

  • EXCEL csvの取り込み

    おそらく基本的なことなのかもしれませんが、うまく検索できなかったので質問させてください。 いまやりたいことは、 1:自分で表のテンプレートファイルを作って、 2:そのテンプレートのデータを表示したい領域にCSVファイルからデータを取り込む なのですが、今のところこのような形で行っています。 (テンプレートとなる表の枠組みは作成済み) 1:CSVファイルをexcelで開く. 2:範囲を選択してコピー 3:テンプレート中のデータを表示したい領域の一番左上のセルに「形式を選択して貼り付け(値)」 この方法で一応できるのですが、何分面倒です。 それで 「データ > 外部データの取り込み > データの取り込み」 で行うと, 先ほどよりは楽にcsvファイルからデータを 貼り付けられるのですが,今度はセルの幅が変わってしまいます(空間が切り詰められる) こういった場合はどのように操作すればよいのでしょうか。 アドバイスをお願いします。

  • 【VAB】 エクセルファイルからCSVファイルをインポートするには

    お世話になります 実行可能か、わからず質問させて頂きます。 ■概要 ・CSVファイルをエクセルファイルにインポートしたいです ■設置 ・ユーザーフォームにテキストボックス、参照ボタン、実行ボタン を生成 ■動き ・参照ボタンをクリックするとダイアログボックスでCSVを選ぶ ・選んだあて先がテキストボックスに記載される ・実行ボタンでCSVをエクセルのシートに貼り付け (このとき貼り付ける列はVB内で決めておきたい、1,4,5,6,9列を貼り付けるなど) わかる方ご教授よろしくお願い申し上げます

  • エクセルの固定範囲にCSVを貼り付ける。

    エクセルの固定範囲にCSVを貼り付ける。 作ろうとしているのは、エクセルで作られた勤務表など 貼り付けすべき範囲が固定されているエクセルシートに、 ユーザーが選択したcsvを貼り付けるマクロです。 ユーザーが開いているエクセルファイル(勤務表.xlsとします) に設置するボタンクリックイベントで、押下しますと 1.CSVファイルをユーザーが選択して開くことができ、  (選択したCSVファイルをsamp1.csvとします) 2.そのsamp1.csvをエクセルで開いた時の固定範囲(B3からE33、など)を、   元のエクセルファイル、勤務表.xlsの固定位置   (Sheet1のC6からH36、など)に貼り付ける。 そんなマクロを作りたいと思っています。 エクセルのマクロに触れ始めて3時間余り、 エクセルマクロ入門系サイトや、 CSV貼り付け等のキーワードで検索し 類似件より引用しながら組んでいるのですが 知識も理解もあやふやなまま(当然かもしれませんが)なかなか作れません。 本来ならば入門書等に書かれている内容を読み、 その上で参考サイトを見て理解する程度になり、 その上で判らなければこちらで質問すべきと理解しているつもりですが、 今日中にと急かされながら3時間経っても理解が進まず半ばパニックに陥っております。 半ば丸投げな質問である事は承知しておりますが、 よろしければご教授、 ないしは私が目的とするマクロの参考になるサイトを 紹介して頂けませんでしょうか? よろしくお願いします。

  • 複数のCSVファイルからのデータ取得(VBA)

    エクセルVBAで、エクセルの指定シートに複数のCSVファイルからデータを取得する方法を ご教授お願います。 エクセルの指定シートの指定されたセルに、複数のCSVファイルから指定箇所のデータを 取得し転送する方法を考えていますが、どうもうまくいきません。 たとえば、 CSVファイル(1) A5(A)           A10(B) CSVファイル(2) A5(C)           A10(D)      CSVファイル(3) A5(E)           A10(F)         ・      ・      ・ と、指定されたセルからデータを取得し、 エクセルの指定シートの表に                    CSVファイル                                 (1)  (2)  (3) ・ ・ ・ ------------------------------------------- A5から取得したデータ    A   C   E ・ ・ ・ A10から取得したデータ    B   D   F ・ ・ ・ ------------------------------------------- と、いうように転送して貼り付けていきたいです。 いろいろ調べてみたのですが、このような方法が見つけられませんでした。 ぜひ、皆様のお知恵をお貸しください。 宜しくお願い致します。

このQ&Aのポイント
  • 女性が男性の匂いを彼氏の判断基準にすることはあるのかについて考えます。
  • 体臭や匂いは女性にとって重要な要素であり、見た目の魅力だけでなく、遺伝子的な要素も影響している可能性があります。
  • しかし、匂いだけで彼氏を選ぶかどうかは個人の価値観によるため、一概には言えません。
回答を見る

専門家に質問してみよう