アプリ版:「スタンプのみでお礼する」機能のリリースについて

[エクセル VBA]テキストファイルから特定の行のみを抜き出したい

下記のようなテキストファイルからCを先頭にした行のみを抜き出してエクセルに書き出したいのですが、どうすればいいでしょうか?エクセル全く使ったことないです。

A1 1 2 0.24
B1 2 4 0.5
E4 1 5 3.55
C1 2 5 0.4
e4 5 3 0.02
p2 3 4 0.57
C2 5 4 0.8
B7 2 7 0.5



セルA1からA2、A3と順に抜き出したものを貼り付けられればと思っております。
よろしくお願いします。

A 回答 (3件)

無理にマクロを使わずとも「findstr」で一回検索をかけてやればよいだけでは。

    • good
    • 0
この回答へのお礼

回答ありがとうございます!

お礼日時:2019/06/17 15:59

>エクセル全く使ったことないです。


マクロの取り付け方はネット検索で調べてください。


'//標準モジュール推奨
Sub TextImport_Cmarked()
 Dim Fname As String
 Dim TextLine As String
 Dim i As Long
 Dim buf As String
 Dim ini As String
 Dim Arbuf
 i = 1 'スタート行
 Fname = "D:\sampleData.txt" 'ファイル名

 Open Fname For Input As #1
 Do While Not EOF(1)
  Line Input #1, TextLine
  ini = Left(TextLine, 1)
  If LCase(ini) = "c" Then '大文字・小文字共通
   '行をセルに入れる
   Cells(i, 1).Value = TextLine
   ''もしも、セルひとつに数字を入れるなら、
   'Arbuf = Split(TextLine, Space(1))
   'Cells(i, 1).Resize(, UBound(Arbuf) + 1).Value = Arbuf
   i = i + 1
  End If
 Loop
 Close #1
End Sub
    • good
    • 0
この回答へのお礼

回答ありがとうございます!助かりました!自分でも学んでみようと思います!

お礼日時:2019/06/17 16:02

①ファイル操作に関するCOM オブジェクトの作成


②読み込みファイルの指定
③①で作成したオブジェクトの読み取りメソッドを利用し、一行ずつ読み取る。
④③で読み込んだ行の先頭がCかどうかを条件式を用いて判定
し、真ならセルに書き出し、偽ならスルー

③〜④をループ
    • good
    • 0
この回答へのお礼

回答ありがとうございます!

お礼日時:2019/06/17 16:00

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A