• ベストアンサー

EXCELのマクロボタン

いつも楽しく拝見しております。 現在、EXCELの作成したシートに、以下の作業を行うためのコマンドボタンを作成したいと思っています。 【作業手順】 1.ファイルを選択するダイアログボックスを開き、csvファイルを開く。 2.sheet2に内容を取り込む。 以上です。 自分でも調べてみたんですが、なかなか良いサイトが見つからなくて、ご質問させて頂きました。 参考になる記述があるサイトやページがございましたら、ご教授いただければ幸いです。 よろしくお願い致します。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

これ簡単なようで難しいと思う。Sheet2を指定しなければ、気の効いたコードがある。Workbooks.openだけでも良いかもしれないが。 基本に戻って下記でやってみた。 標準モジュールに Sub test01() fd = CurDir fn = InputBox("ファイル名") fn = fd & "\" & fn & ".csv" i = 1 Sheets("sheet2").Activate Open fn For Input As #1 While Not EOF(1) Line Input #1, a x = Split(a, ",") For j = 0 To UBound(x) ActiveSheet.Cells(i, j + 1) = x(j) Cells(i, j + 1).Replace Chr(34), Chr(32) '*1 Cells(i, j + 1) = Trim(Cells(i, j + 1)) '*2 Next j i = i + 1 Wend Close #1 End Sub *1,*2は普通要らないと思うが、文字列を””で囲っている例があったのでこうした。 CSVファイルには数種の亜種があるのをご存知か。 ーーー 質問の標題の書き方が悪い。 エクセルのシートにコマンドボタンを貼り付ける方法ぐらい、VBAをやる以上知っているでしょう。質問することじゃない。 そういう標題になっているが、大切なのは、コマンドボタンをクリックしたとき、実行する、上記のようなモジュールを作れるかどうかだろう。

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

その他の回答 (1)

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

取り合えず、マクロの記録を開始 ファイル、開く、CSVファイル、全てを選択、コピィ、ファイルを閉じる、貼り付け で、出来たマクロ参考にしてください。 ほか、以下のコマンド必要と思いますので参考にしてください。 Application.Dialogs(xlDialogOpen).Show

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

関連するQ&A

  • エクセルマクロでファイルを開いて保存したいです。

    エクセルマクロでファイルを開いて保存したいです。 エクセルファイルでファイル名「編集」という物を開きます。 このSheet1には中央にコマンドボタンが作成して有ります。 このボタンをクリックして以下の作業をマクロで行いたいです。 1.エクセル標準の「ファイルを開く」のメッセージボックスが開く 2.ここは使用者が作業をしてもらう   マイドキュメントだったり、マイネットワークだったり、   (ファイルの種類はCSVにする)   処理をしたいCSVファイルを探してもらい選択後、開くをクリック   例えば20100922.CSVを選択し開くをクリック 3.クリックと同時にそのファイルが展開されて、「編集」のエクセルファイルの   Sheetにシート名「集計」が作成されそのシートにCSVファイルの全内容がセルA1から貼り付く。   さらに登録してあるマクロモジュールで編集処理がされ   マクロを引き継がず、シート「集計」だけを   ファイル名は固定でそのファイル名の後ろに作成日(システム日付)を入れて   参照したCSVファイルの保管場所に保存する。   ファイル名例:売上20100923.xls(売上は固定) 4.エクセル「編集」のファイルからシート「集計」を削除する。 5.メッセージBOXで「編集終了」と表示 次回エクセルファイル「編集」を開くと、コマンドボタンだけである。 また作成された「売上20100923」はマクロがないから開くときに マクロのメッセージは出ない。というようにしたいです。 NO.2のファイルを選択する作業は作業者にしてもらいますが シート1のコマンドボタン1回を押すだけでNO.1~NO.5まで完結させたいです。  NO.3のマクロ処理はマクロの記録でモジュールができています。 このマクロの作成方法と、そのマクロが出来たら その文のどこに作成済みの処理文を入れればいいのかわかりません。 よろしくお願いします。 ここでつまづいています。この後この選択したファイルの全内容が シートの集計に展開されません。 Private Sub CommandButton1_Click() Call 集計 End Sub Sub 集計() FullPath = Application.GetOpenFilename("CSV,*.CSV") If FullPath <> "False" Then Sheets("Sheet1").Select Sheets.Add ActiveSheet.Name = "集計" With ActiveSheet.QueryTables.Add(Connection:="CSV;" & FullPath, Destination:=Range("A1"))   マクロの記録で作成したマクロ   シート"集計"をマクロを引きつかずファイル名売上&システム日付で保存   シート"集計"を削除する

  • Excel マクロについて

    Excelで作成したシートを次の手順で保存できるようなマクロを作成したいのですがどうしたらいいでしょうか?  1)あらかじめ所定のフォーマットを用意しユーザーが入力できるようにする。  2)ユーザがボタンを押すとそのシートの上2行(1行、2行)と左1列(A列)が削除され、    (タイトル行なのでCSVにする際に不要な為。)  3)「名前を付けて保存」のダイアログボックスが表示し  4)保存先のフォルダが「X:\DATA\」となるようにし  5)ファイル名がその日付(yyyymmdd.csv)、CSV形式 (例:20031125.csv)となるようにし、    (ユーザーにても変更の可能性もあるので固定にはしない)  6)ユーザーが保存先、ファイル名等を確認語保存する。  7)保存後は元のEXCELシート(CSV形式でない)で開いた状態で終了とする。 自分でも作成したのですが、本当にこれでいいのかも疑問でご意見を教えて下さい。 特に、7)のところがうまくいかず、6)での保存後どうしても開いているファイルの状態が CSV状態になります。 以上、ご存知の方教えて下さい。  

  • Excelのマクロでコマンドボタンを選択する方法

    Excelのマクロでコマンドボタンを選択する方法 マクロの記述でオブジェクトのコマンドボタンのみを選択するにはどうしたらいいでしょうか? 別のマクロが登録されているボタンを削除するのが目的です。 オブジェクトは他にもテキストや直線などがあり、コマンドボタンのみの特定の仕方がわかりません。 シートも複数あり、コマンドボタンもまちまちな名前がついています。 WinXP Excel2000

  • エクセル2007で コマンドボタンを使用してマクロ?で他のシートの内容

    エクセル2007で コマンドボタンを使用してマクロ?で他のシートの内容から選択するようにしたいのですが・・・ マクロ初心者です・・・ どのように説明したらよいかわからないのですが 例えば シート1で作成したデータを シート2でコマンドボタンを押すとシート1のデータから選択しセルに入るようにしたいのですが どなたか 教えていただけないでしょうか? よろしくお願い致します

  • マクロがないのにマクロがありますとは?

     エクセルファイルを開くと「マクロがあります」とダイアログボックスが出て有効・無効の選択が求められます。  実は、マクロを作成後、削除したんですが、このダイアログボックスが出ないようにするにはどうすれば良いでしょうか。

  • エクセル マクロ 時間

    1)フォームにて時間を表示する。コンボボックス2つ作る。コマンドボタン(記録)を1つ作る。 2)1つのコンボボックスには時を選択させる。リストはリストはSheet2に01・02・03・・・とA列に00まで作る。 3)もう1つのコンボボックスには分を選択させる。リストはSheet2に01・02・03・・・とB列に00まで作る。 4)フォームの記録ボタンを押すと、sheet1のA2に(例 23:34)と表示させたい。 マクロの記述を教えてください。

  • コマンドボタンにマクロを登録させる方法

    エクセルでマクロを作成しました。マクロを実行させる為に「コントロールツールボックス」にある「コマンドボタン」で作ったボタンに登録をしたいのですがうまくいきません。 以前はコマンドボタンを作ったら、自動的に「マクロの登録」ダイアログボックスが出てきたのですが、何故か出なくなってしまいました。オートシェイプで作成したボタンなら、右クリックすると「マクロの登録」があるのですが、コマンドボタンを右クリックしても「マクロの登録」がありません。以前のように、自動的に「マクロの登録」ダイアログボックスを表示させる方法があったら教えてください。 また、ボタンをダブルクリックするとVBAが開いて以下のようなコードの記載がありますが、ここにコードを記載すればボタンをクリックしたときにマクロが実行されるのでしょうか?VBAはまったく解りませんので、どのように記載したらいいのかわかりません。実際に記入して教えてください。お願いします。マクロ名は、日本語で「結果一覧」としました。(「Private Sub CommandButton1_Click()」と「End Sub」の間に、マクロの記述部分をコピーして、貼り付けたら、ボタンをクリックしたときにマクロは実行できたのですが、もっと簡単にマクロ名を記述したら実行できるような気がするのですが、簡単に記述して実行できる方法があったら教えてください。) OSはWindows ME、Excelは2002 です。よろしくお願いします。 コマンドボタンをダブルクリックしたときのコードです。 Private Sub CommandButton1_Click() End Sub

  • マクロ コマンドボタンを押すともう一つコマンドボタン

    マクロ初心者です。宜しくお願いします。 コマンドボタンをクリックしたら、指定して開いたファイル上にもうひとつコマンドボタンを追加で表示させることは可能でしょうか? <詳細> ・コマンドボタンを押す ・エクセルのファイルを指定して開く ・指定して開いたファイルの「Sheet1のA1」に新たにコマンドボタンを出現させる。 ・「Sheet1のA1」に現れたコマンドボタンを押すとそのファイルを印刷する。 みたいな事をしたいのですが、可能でしょうか?? 宜しくお願いします。

  • エクセルマクロのオプションボタンについて

     エクセルの1つのシート内で「オプションボタン」を6つ使用し、3択する 場所を2箇所作ろうとしたところ、6択が1箇所となってしまい困っています。 オプションボタン3つずつを独立させ、2組にするにはどのようにすればよいのでしょうか?  また「ツールバー」にある「フォーム」と「コントロールツールボックス」から 「オプションボタン」や「チェックボックス」を作成すると、それぞれどのような 違いがあるのでしょうか?  ちなみに私はコントロールボックスからオプションボタンを作成しています。  詳しい方、教えて頂けないでしょうか?よろしくお願いします。

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

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

専門家に質問してみよう