こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

EXCELのマクロボタン

いつも楽しく拝見しております。

現在、EXCELの作成したシートに、以下の作業を行うためのコマンドボタンを作成したいと思っています。
【作業手順】
1.ファイルを選択するダイアログボックスを開き、csvファイルを開く。
2.sheet2に内容を取り込む。

以上です。

自分でも調べてみたんですが、なかなか良いサイトが見つからなくて、ご質問させて頂きました。

参考になる記述があるサイトやページがございましたら、ご教授いただければ幸いです。

よろしくお願い致します。

投稿日時 - 2008-03-03 20:49:23

QNo.3830206

困ってます

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

これ簡単なようで難しいと思う。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をやる以上知っているでしょう。質問することじゃない。
そういう標題になっているが、大切なのは、コマンドボタンをクリックしたとき、実行する、上記のようなモジュールを作れるかどうかだろう。

投稿日時 - 2008-03-03 21:56:06

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

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

投稿日時 - 2008-03-03 21:46:07

あなたにオススメの質問