VisualBasicで作成したCSVファイルをエクセルに取込み、ファイルの値を表示したいと考えています。

このとき、エクセルには既に枠(?表といった方がいいでしょうか?)が表示されており、CSVファイルのこの値は、表のこのカラムに表示すると言ったことがしたいのですが、どんな風に進めたら良いのか、全然イメージ出来ません。

こんな項目で調べたら?とか、こんな風に進めたら?とか、何かアドバイスをお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

VBAですが、こんなのが役にたちますでしょうか。


3列のデータを仮定してます。
Sub test01()
Open "c:\My Documents\aaa.csv" For Input As #1
i = 1
While EOF(1) = False
Line Input #1, a
c = Split(a, ",")
Cells(i, "A") = c(0)
Cells(i, "B") = c(1)
Cells(i, "C") = c(2)
i = i + 1
Wend
Close #1
End Sub
----
または
Sub test02()
Open "c:\My Documents\aaa.csv" For Input As #1
i = 1
While EOF(1) = False
Input #1, a, b, c
Cells(i, "A") = a
Cells(i, "B") = b
Cells(i, "C") = c
i = i + 1
Wend
Close #1
End Sub
でも良さそう。
ただVBの中からVBAを呼び出すことはできると思うので、勉強してください。
    • good
    • 0
この回答へのお礼

~回答者の皆様~

結局、CSVからの読み込みはマクロを使って。
集計シートの作成は、各カラムに条件を入力しておくという方法にしました。
色々ありがとうございました。
参考になりました!

お礼日時:2003/12/15 18:32

CSVの取込み自体は、通常、CSVファイルがExcelに関連付けされていますので


CSVファイルをダブルクリックすれば開けます。
罫線等はデータのある行の数に応じてマウスで指定して引く方が早いと思います。
列の幅を文字数に合わせて調整するには、左上の角をクリックしてシート
全体を指定(反転)させてから、AとBの境界線あたりをダブルクリックすると
全体が自動で調整されます。

やりたいことはもっと違うことなんでしょうか?

この回答への補足

EXCELには既に枠組みを作っておきたいのです。
(月毎に出力する何かの集計表のようなイメージを持っていただければ、多分私と共通のイメージが出来るのでは。と考えるのは、一方的ですかね…)

すごくざっくりした例を挙げると、下記のようになります。

-----------------------------------------
着信総数|内訳a |内訳b |比率b/a
600   |400 |200 |50%

電話 |メール|×××|○○○
200 |200 |100 |100
-----------------------------------------

ここで、「着信総数」「内訳a」「内訳b」「比率b/a」や「電話」「メール」「×××」「○○○」は、固定項目で、データを取り込まないうちから表示させておくものです。
数値の部分がCSVから読み込みたい値になります。
ただし、「50%」は、EXCEL上で自動的に計算させたいです。

こういったことがしたいのですが、どうでしょうか?
イメージ、伝わったでしょうか?

補足日時:2003/10/30 13:52
    • good
    • 0

 CSVファイルですから、カンマ(、)で区切られたデータは、Excelの各セルに自動的に入ります。


 単純にカンマで区切ったデータは横並びに、CRLF(Enter)で区切られれば、縦並びに入ってきます。

 読み込む時には、ファイルの種類をテキストファイル(*.rpn、*.txt、*.csv)を選択しましょう。
    • good
    • 0

こんにちは。

maruru01です。

Excel2000で回答します。
メニューの[データ]→[外部データの取り込み]→[テキストファイルのインポート]でウィザードを起動させると、最後に取り込む場所を指定出来ます。

また、VBが出来るのでしたら、ExcelVBAも扱えると思いますので、VBAでOpenステートメントでファイルを読み込めば、いろいろ応用がききます。
    • good
    • 0
この回答へのお礼

結局、一旦マクロを記録してから、他にやりたい処理をVBAで行うことにしました。
ありがとうございました。

お礼日時:2003/12/15 18:29

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q.zipファイルのパスワード解除方法

画像のデータ、音楽のデータを保存するために.zipファイルにパスワードを掛けたのですが、忘れてしまって解除することができません。
パスワードを解除する方法はありますか?

Aベストアンサー

普通は解除できませんが、このソフトを使えば簡単に解除できますよ。
Advanced ZIP Password Recovery
このサイトより試用品をダウンロードしてください。
インストーラー英語ですがソフトのオプションタブのLanguageタブで
Japaneseを選ぶと日本語になります。2kでは文字化けします。
このソフトは有料ですがどこかにserialがあるかもしれません。

参考URL:http://www.elcomsoft.jp/?page=archives#zip

QCSVファイルのエクセル取込(VBA)で小数三位が消える!?

エクセルにCSVファイルから読み取りをするVBAで下記のように記述しています。

Sub CSV読取り

Dim FName As Variant
FName = Application.GetOpenFilename(FileFilter:="CSVファイル (*.csv), *.csv")
Open FName For Input As #1

For i = 1 To 400
Input #1, Columni
ThisWorkbook.Sheets("CSV取得").Cells(i, "E").Value = Columni
Next i
Close #1

End Sub

これでほとんどのデータ(数値や文字列の400件)をうまく読み取るのですが、どういう訳かデータが小数点以下第三位まである数値の場合、エクセルに取り込まれた段階で小数点以下第二位までに四捨五入されてしまうようです。
そのうえ、エクセルのセルの表示形式がそこだけ通貨(¥マーク付き)になっています。
なぜでしょうか?
またどうしたら正しく小数3位まで読み取れるのでしょうか?

CSVファイルをエクセル単純にエクセルで開けばちゃんと小数三位まであるのですが、データが横一列にカンマ区切り400件あるので256列しかないエクセルではすべてとりこめません。(だから上記のマクロで縦に変換してとりこんでいるのですが)

非常に困っています。

エクセルにCSVファイルから読み取りをするVBAで下記のように記述しています。

Sub CSV読取り

Dim FName As Variant
FName = Application.GetOpenFilename(FileFilter:="CSVファイル (*.csv), *.csv")
Open FName For Input As #1

For i = 1 To 400
Input #1, Columni
ThisWorkbook.Sheets("CSV取得").Cells(i, "E").Value = Columni
Next i
Close #1

End Sub

これでほとんどのデータ(数値や文字列の400件)をうまく読み取るのですが、どういう訳かデータが小数点以下第三位まである数値...続きを読む

Aベストアンサー

追記です。

csvファイルがすべて数値だと思っていたもので・・・
Dim Columni As String
で回避することは出来ると思うのですが、さんが求めているものはもっと高いレベルのような気がしてきました。
すみませんでした。。。

Qzipファイルパスワード解除

zipファイルパスワード解除
zipファイルにパスワードをかけたのですが、パスワードを忘れてしまいました。
PikaZipというソフトで検索してみたのですが、何時間たっても結果が出ませんでした。
何かいい方法はありますか?

Aベストアンサー

ありません。
短時間でとけるようなものならパスワードの意味が無いですから。

Qexcel ファイルとか表示とか表示されない

excelでファイル(F)、編集(E)、表示(V)等が表示されなくなりました。表示させる方法を教えてください。

Aベストアンサー

メニューバーがきえたのですね。
Excelのバージョンが定かではないので、
いくつか方法がありますが、
以下をお試しください。
VBAを使う方法です。

まず、Excelを起動します。

1) [Alt]+[F11] を押します。
  → Visual Basic Editorが開きます。


2) [Ctrl]+[G] を押します。
→右側下方に「イミディエイト ウィンドウ」が開きます。(白紙の部分)

下の1行をコピーしたら、その「イミディエイト ウィンドウ」に貼り付けます。

Application.CommandBars("Worksheet Menu Bar").Enabled = true

その行にカーソルがある状態で<Enter>を押します。

3) [Alt]+[Q] を押して、 Excelに戻ります。
→ファイルメニューが表示されます。

※上でコピーした文字列の最後の true を false
に変えると、メニューバーが消えます
(参考まで)

QEXCELファイルのパスワードの解除

EXCELファイルをパスワードで他の人の閲覧から守ることを
ここで教えていただきました。

「名前をつけて保存する」ときに「全般オプション」で
設定するとのことでした。

今度はその解除の仕方を教えてください。

つまり1度オプションでパスワードをつけた機能を解除する仕方です。

もう一度「名前をつけて保存」して、その際は何もパスワードを
設定しなくて保存してもダメでした。

教えてgoo!!

Aベストアンサー

ツール→全般オプション。ここでパスワードを設定しましたよね。

元に戻す(パスワードを解除)時は、ファイル→名前をつけて保存。
ツール→全般オプションで、パスワードを消します。
次、開く時はパスワードの要求はしてきません。

これでやってみていかがでしょうか?

Q複数表から検索値を検索し、検索値の存在した表から結果を求める方法

ソフトはエクセルの2000です。
やりたいことは、
「複数表から検索値を検索し、検索値の存在した表から値を抽出する方法」もしくは
「A2:H11から検索値を検索し、検索値から○行下の値を抽出する方法」
になると思います。
以下に例を記入します。


下記のように「項目」と「名称」2列で構成された表を下に作成しているとします。
      A列   B列    C列   D列   E列    F列   G列   H列
1行
2行
3行   社名 ○○○社       社名 □□□社       社名 ◆◆◆社
4行   場所 ○○○県       場所 □□□県       場所 ◆◆◆県
5行   件名 ○○作業       件名 □□作業       件名 ◆◆作業
6行   担当 ○○○殿       担当 □□□殿       担当 ◆◆◆殿
7行   
8行   社名 ×××社       社名 △△△社
9行   場所 ×××県       場所 △△△県
10行   件名 ××作業       件名 △△作業
11行   担当 ×××殿       担当 △△△殿

A1のセルに「△△△社」と社名を入力すると、B1セルに場所の「△△△県」が表示するようにしたいのです。
複数のIF関数で括れば可能だとは思いますが、表の数が制限され、関数式も長くなるためIF関数の使用は控えたいと思っています。
また、マクロを使わない方法でお願いします。
可能なら関数で、関数で不可能なら名前の定義を使用した方法を教えてください。よろしくお願いします。

ソフトはエクセルの2000です。
やりたいことは、
「複数表から検索値を検索し、検索値の存在した表から値を抽出する方法」もしくは
「A2:H11から検索値を検索し、検索値から○行下の値を抽出する方法」
になると思います。
以下に例を記入します。


下記のように「項目」と「名称」2列で構成された表を下に作成しているとします。
      A列   B列    C列   D列   E列    F列   G列   H列
1行
2行
3行   社名 ○○○社       社名 □□□社      ...続きを読む

Aベストアンサー

ご質問のように複数の表から検索して表示する関数は、なさそうです。

画像のように表を作りなおせば、VLOOKUPでいけますが

Q圧縮ファイルを解凍せずパスワードだけ解除するソフト。

圧縮ファイルを解凍せずにパスワードだけ
解除するソフトってありませんか?

もちろんパスワード自体はわかっています。

Aベストアンサー

ちょっと作業中なので、後でやってみるとして・・・。
もしこれが出来るのなら、パスワードのくっついている部分を削除して、通常の部分に置き換えれば、パスワードがなくても、解凍出来るアングラツールが出来ることになります。
そう言ったツールがあるのなら、誰でも考えそうだし、すでに作られているかと。
・・・、とはいえ、暗号化されている・・・のかな?^^;
どうなっているのでしょうか?zipのパスワードって。
後で、バイナリーで違いをチェックしてみようかと思います。

単純に、前もって、パスワードを入力して、一度解凍して、再圧縮するツールは、技術的には、十分可能です。
まぁ、需要がなさそうなので、あるかどうかはわかりませんが。

QExcelで複数のファイルの値を別のファイルに順番に表示させたい

タイトルのとおりなのですが、以下に補足させていただきます。
・同じフォーマットの「ファイル(1)」から「ファイル(20)」があります。
・各ファイルの[sheet1]には、A1に店名が、B1に売上が入力されています。
・これを別のファイルに次のように表示させたいんです。
      A列        B列
1行目  ファイル(1)のA1  ファイル(1)のB1
2行目  ファイル(2)のA1  ファイル(2)のB1
3行目  ファイル(3)のA1  ファイル(3)のB1
4行目  ファイル(4)のA1  ファイル(4)のB1
・   ・        ・
・   ・        ・
20行目  ファイル(20)のA1  ファイル(20)のB1

このようなことが関数での対応でできるでしょうか?
ご指導よろしくお願いします。

Aベストアンサー

ANo.1です。
意図していない回答をしてしまい。
すみません。
VBAを使用したくないということであれば、
コマンドプロンプトでファイルの一覧を取得して、
後で関数をくっつけるやり方はどうでしょうか?
VBAと違って、ファイルが増えた場合には、いちいち
修正がいりますが。。。

コマンドプロンプトの分かりやすい説明のURLです。
ご確認ください。
http://cmd-pro.com/index.html

Qファイルをロック(パスワードで解除。)する方法を教えて頂いてもよろしいでしょうか?

いつもお世話になっております。
今回質問させて頂きますのは、エクセルで作成した名簿のファイルがありまして、PCを起動した時に、ロックで、パスワードを入力しなければPCを使用出来ない方法は知っておりますが、今回、同様にファイルでパスワードを入力しないと開けない様にしたいのですが、もしその方法がありましたら教えて頂いても宜しいでしょうか?

Aベストアンサー

保存の際、「名前を付けて保存」を選択すると保存先等の画面が表示されるかと思います。
その際、右上にある「ツール」から「全般オプション」→「読み取りパスワード設定」にパスワード入力でいいかと思います。
バージョン等で設定が困難な場合は申し訳ございません。
参考までに下記のURLをどうぞ。

参考URL:http://www.global.co.jp/iep/iep62/iep621201.html

QEXCELのマクロをバッチファイルから起動させ、あるフォルダ内のCSVファイルをTXTファイルに変換。

あるフォルダにdata.csvというファイルがあります。

一つ目の質問は、EXCELのマクロで「あるフォルダ内にある***.csvを開く」という動作はどのように記述されますか?

2つ目の質問はバッチファイルあるいはスクリプトファイルでEXCELのこのマクロを実行させることは可能ですか。どのように記述したらよいのでしょうか。

3つ目はセルA1~A10の値をx B1~B10の値をyとしてグラフを描かせるコマンドはありますか。

Aベストアンサー

3つ目は、#1にご回答にあるようにマクロの記録を取れば良い。骨子は
Sub Macro1()
Charts.Add
ActiveChart.ChartType = xlXYScatter
ActiveChart.SetSourceData Source:=Sheets("Sheet3").Range("A1:B10"), PlotBy:= _
xlColumns
End Sub
でChartType = xlXYScatterと
PlotBy:=xlColumnsがキーです。


人気Q&Aランキング

おすすめ情報