• ベストアンサー

ファイルからのデータ抽出

cobolのstart文はexcelのvbaではどのように表現するのでしょうか? cobolのstart文はキーを特定させてread文でファイルを読みますが、これと同じことをexcelのvbaで行う場合ははどのように表記するのですか?

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

  • ベストアンサー
回答No.2

パソコンで扱うデータ(ファイル)は、相対編成という考え方はありません。パソコンのファイルをCOBOL的に表現すれば順編成ファイルの不定長形式だと思ってください。

questionbw
質問者

お礼

ありがとうございます

その他の回答 (1)

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

何でコボルの例を出すのか良くわからない。COBOLユーザーとエクセルユーザーは多数の人が、ダブっていいると思う認識は甘いのでは。 こんな表題・先頭部がCOBOLだと、恐れをなして回答が付かないかもしれないよ。 ーー エクセルはレコードを扱うソフトであるとはいえないと思うので、正確には該当のものは存在しないのではと思う。 エクセルはレコードをシートに読み込んだ形から、議論を始める。 入力は手作業でセルに行うことが基本。 (1)1レコードが1行に読み込まれている状態だとして、処理する最初の行を探す A.第1行目から探して目的に達する B。何か指定データ内容で検索して、該当行以後を処理対象にする C。何行目以降で処理する などをVBAで行う (2)データがシートに読み込まれている前から考えるなら、データの読み込み時(プログラム)において、SQL文などを使って、シートに読み込むデータを絞る。 または該当までIF文で選別して、該当が現れるまで読み飛ばしすれば仕舞い。 ーー コボルなど忘れて、エクセルVBAの勉強をすること。 入力は手作業で、シートのセルに行って、シートを作り上げることが前提。 ーー エクセルにはメニューに「外部データの読み込み」があるが、読み込みのスタートポイントは指定できなかったと思う。 既に在るデータセットをエクセルに読み込ませるには、データの性格やファイル形式などを明確ににして質問すること。 ADOというソフトでシーケンシャルファイルなどが扱えて、SQLをかますことも出来るから、それを考えるかだが、質問者の VBAなどの技量はどの程度のものかわからないので、質問者が勉強して、どのソフトで処理するかきめて、質問個所を絞るほか無いでしょう。

questionbw
質問者

お礼

ありがとうございます

関連するQ&A

  • エクセルでデータ抽出し、別のファイルを作成したいのですがVBAを勉強し

    エクセルでデータ抽出し、別のファイルを作成したいのですがVBAを勉強しないと出来ませんか? 例えば、エクセルで作成した顧客名簿には氏名、年齢、生年月日、住所、電話番号が入力されており、そこから1960-1980年生まれで住所が大阪府の人をセレクトし、別のエクセルデータに出力するとしたらどうすればいいのでしょう? 昔にCOBOLをかじったことがあり、頭の中ではすごく簡単な作業に思えるのですが・・・ よろしくご教授願います

  • CSVファイルをEXCELで編集する場合について

    こんにちは。カテゴリ違いかもしれませんが、教えてください。EXCELのマクロやVBAについては全くの初心者なのですが、不特定の名称のCSVファイルをEXCELで表示・編集した場合、マクロ・VBAを自動で起動させて入力規制や入力チェックは行えるものでしょうか?あるセルの内容をチェックする場合、VBAだとシート名を指定しなくてはならない印象を受けましたが、この指定が不特定であることは可能でしょうか?現状ではVBAの扱い方からのスタートになっている段階なので、このような質問になってしまっています。よろしくお願いします。

  • VBAでテキストファイルからの特定行抽出

    エクセルのVBAで、テキストファイルから、特定の文字を含まない行だけを、別のテキストファイルに取り出す方法を教えてください。 具体的には、元のテキストファイルの中から、「.png」と、「.jpg」を含まない行を取り出して、別のテキストファイルに書き出したい。 元のテキストファイルは、エクセルでそのまま読み込むにはデータが大きすぎてエラーになってしまうので、、VBAで不要なデータを取り除いて、ファイルを小さくしていって、エクセルで扱える大きさにしていこうと思っています。 どなたかおわかりになる方がいらっしゃいましたら、どうぞよろしくお願いいたします。

  • エクセルのマクロでファイルを自動で保存するには?

    こんにちは。お世話になります。 エクセルのVBAマクロ文の書き方でお知恵を拝借したいと思います。 さて、私のかかる業務でエクセルファイルで営業実績を出しています。 COBOLで作ったファイルをCSVにインポートして そのCSVの値を別のエクセルファイルで引っ張るという手順を踏んでいますが、 それをマクロで動かすとエクセル上で『保存しますか?』と聞いてきます。 答えは『はい(Y)』で確定しているので、その命令文さえ組み込められればいいのですが、 その命令文の書き方が判りません。 (解決したいVBAマクロの命令文) Workbooks.Open Filename:="D:\(Aファイル).csv" Workbooks.Open Filename:="D:\(Aファイルの値を引っ張るBファイル).xls" ThisWorkbook.Saved = True (ここで聞いてくる注意に自動で『Y』を入れたいと思っています。) ActiveWindow.Close ActiveWindow.Close 以上、お知恵を拝借したく、お願いいたします。

  • VBAで他のPCにファイルを開かれたことを知りたい

    EXCEL VBAで、ある特定のファイルが他のPCに開かれたまたは開かれている場合それを知ることはできないでしょうか?

  • ExcelのVBAで、XMLファイルのデータ抽出

    はじめまして。 XMLファイルに含まれたデータの中から、特定の条件のデータのみを抽出するプログラムを作りたいと思っております。 XMLファイルの中身は <p name="test">あいうえお</p> <p name="test2">かきくけこ</p> <p name="test3">さしすせそ</p> … のようなデータが2~300以上あり、その中から、NAMEが"test"のものだけを抽出するプログラムなのですが、ExcelのVBAで可能でしょうか? ご教授頂ければ幸いです。よろしくお願いいたします。

  • VBAでEXCELファイルからデータを抽出する方法

    VBAで、サーバーにある大量のデータを含むCSVファイルから、ある条件に一致するデータを抽出する方法を教えてください。 (例)  コード   名称  在庫数  その他データ  A12300  ○○○  999   XXXXXXXX  A12400  ○○○  999   XXXXXXXX  B12500  ○○○  999   XXXXXXXX  B11100  ○○○  999   XXXXXXXX  C11200  ○○○  999   XXXXXXXX 上記データからコードの一桁目が「A」と「C」のものを抽出する場合の、VBAを教えてください。 抽出後、EXCELの別ファイルに上書き保存します。 デイリーで処理をするので、VBAで自動化したいのです。 よろしくお願い致します。

  • VBA 複数ファイルを読み込んで、抽出

    VBA初心者です。どうぞよろしくお願いいたします。 <やりたいこと> 同じフォルダにある複数ファイル(logファイル)を順番に読み込み、 特定の文字が含まれている行だけを、別ファイル(sum.csv)に保存していきたい。 ファイルが多数あるため、VBAで処理できればと思っています。 急いでおり、今回は丸投げになりますが、どなたかコードを教えていただけますと 非常に助かります。 コードを見て、勉強させていただきます。 どうかよろしくお願いいたします。

  • データの抽出について

    エクセルの関数について質問します。 あるデータから特定の文字を含む行などを抽出する場合、通常オートフィルター機能を使いますが、これを関数で抽出することはできますでしょうか? 日付が入っているデータ(200行くらい)からある特定の日付で、さらに特定の文字を含まれているものを抽出し利用したいと考えています。 AND関数を使った場合、特定のセルで指定(たとえばB2='2007/3/1'、C2='ある特定の文字')はできるのですが、B2:B100の中から='2007/3/1'でなおかつ、C2:C100='ある特定の文字'といった絞り込みができずに苦戦しています。 よろしくお願いいたします。

  • データ抽出

    VBA初心者です。 エクセルで2枚のシートを練習用で作成しました。 画像上段がシート1で元データです。 下段が転記先の表で、シート2です。 シート2は、今はデータが参考に貼りつけてありますが 普段はマクロで作業後は消去して、空白にしています。 今したい処理が 元データをINPUTBOX関数を使って抽出し、 NO,購入日付、分類、感想、備考のデータを下段画像シート2のように 転記したいのです。 抽出条件のキーになるのは、主に「購入日付」と「分類」です。 どこかのセルに、日付を範囲指定で入力すれば、条件に当てはまる データをシート2に表示させたいです。 四半期ごとのデータを検索したいためです。 INPUTBOX関数でなくても、どこかの特定のセルに範囲指定する日付を入力 して、抽出してもかまわないです。 あと、分類は割と「飲料水」を抽出して、印刷する頻度が多いのですが 今後の参考に、全部の分類を抽出できるスタイルが望ましいです。 現在は、一行一行日付と分類を目視で確認しながら シート2にコピペ作業しているので 時間がかかります。 エクセルの機能でフィルタ等をしてみたのですが、 関数やVBAで素早くしたいのですが、なかなかコードが思いつきません。 お願いします。

専門家に質問してみよう