下記のようなテキストファイルから、山田太郎の後ろの数値のみを、エクセルのシートに抜き出すにはどのようにしたらよいのでしょうか。
A1セルに30、A2セルに40、A3セルに60、のように入力したいです。よろしくおねがいします。
山田太郎 30点
aaaaaa30aaaaaaaaaaa
bbbbbb20bbbbbbbbbbb
ccccccccccccccccccc
山田太郎 40点
ssssss30sssssss
eeeeeee40eeeeeeeeee
fffffffffffffffffffffff
山田太郎 60点
No.1ベストアンサー
- 回答日時:
例データ
山田太郎 30点
aaaaaa30aaaaaaaaaaa
bbbbbb20bbbbbbbbbbb
ccccccccccccccccccc
山田太郎 40点
ssssss30sssssss
eeeeeee40eeeeeeeeee
fffffffffffffffffffffff
山田太郎 60点
これをメモ帳に貼り付け、名前をtest7.txtで保存しました。名前は自由です。
エクセルのVBEに標準モジュールに
Sub test01()
s = "山田太郎"
i = 2
Open "C:\Documents and Settings\XXXX\My Documents\test7.txt" For Input As #1
While Not EOF(1)
Line Input #1, a
If Left(a, Len(s)) = s Then
Cells(i, "A") = s
Cells(i, "B") = Right(a, Len(a) - Len(s))
i = i + 1
End If
Wend
Close #1
End Sub
を貼り付け、実行しました。
アクチブシートに
A列 B列
山田太郎 30点
山田太郎 40点
山田太郎 60点
となりました。
No.2
- 回答日時:
>A1セルに30、A2セルに40、A3セルに60、のように入力したいです。
と、「山田太郎吉 40点」
などという名前の人を除外する必要があるかと思い、
No.1さんのを少し改良しました。
Sub test01()
Dim score As String
Dim s As String
Dim i As Integer
Dim a As String
Dim fNo As Integer
fNo = FreeFile
s = "山田太郎"
i = 1
Open "C:\tmp\test.txt" For Input As fNo
While Not EOF(1)
Line Input #1, a
If InStr(1, a, s) = 1 Then
score = Trim(Replace(Mid(a, InStr(1, a, s) + Len(s)), "点", ""))
If IsNumeric(score) Then
Cells(i, "A") = score
End If
i = i + 1
End If
Wend
Close fNo
End Sub
ありがとうございます。
改造を最小限にするなら、下記解答の
Cells(i, "A") = s
この部分を除くだけですみました。
どうやら、わたしは
Line Input #1, a
このへんの理解が欠けていたようです。
回答者様のおかげでスキルが少しアップしました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセル 関数 指定の繰り返しの回数 以降(以前)を削除するには、 2 2022/04/24 10:29
- Excel(エクセル) エクセルの参照について教えてください 1 2022/12/08 16:06
- Excel(エクセル) メモ帳からエクセルにセル区切りで表示させたいんです 7 2023/02/25 22:04
- C言語・C++・C# c言語の問題です 2 2023/07/21 10:51
- Word(ワード) Wordでふりがなつきの文字を、ふりがなを外してペーストしたい 4 2022/05/09 08:53
- Visual Basic(VBA) エクセルについて教えてください。 3 2023/06/28 09:11
- Excel(エクセル) エクセルで休憩時間を引く時と、引かない時の数式 3 2022/11/05 11:48
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- その他(学校・勉強) 吹奏楽界の慣習、伝統についての疑問 2 2022/12/24 22:45
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/01/12 09:24
このQ&Aを見た人はこんなQ&Aも見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
【VBA】テキストファイルから特定の文字列を抽出して、エクセルに出力する
Excel(エクセル)
-
テキストファイルの一部分を抽出する方法について
Visual Basic(VBA)
-
テキストファイルから指定行をExcelに抽出したい。
Excel(エクセル)
-
-
4
テキストファイルから特定の文字列が入った行を取得したいです。 例えば下記のような文が記載されたテキス
Visual Basic(VBA)
-
5
ExcelVBA テキストファイルから特定行を抽出し、エクセルファイルのテキストボックスに張り付ける
その他(コンピューター・テクノロジー)
-
6
[エクセル VBA]テキストファイルから特定の行のみを抜き出したい 下記のようなテキストファイルから
Excel(エクセル)
-
7
ある文字列を含む行の抽出
Excel(エクセル)
-
8
【VBA】テキストファイルを指定行数からの読み込み
Visual Basic(VBA)
-
9
Excel VBAでフォルダ内の全テキストファイルの任意データを取得について
Visual Basic(VBA)
-
10
【VBA】複数のtxtファイルから特定区間の複数行を呼び出し、エクセルにまとめたい。
Visual Basic(VBA)
-
11
EXCEL VBAでテキストファイルの特定の場所にデータを書き込む方法
Visual Basic(VBA)
-
12
Excelのセルにユーザー名を表示する方法
Excel(エクセル)
-
13
複数のtxtの特定部分を抽出し、一つのxlsファイルにまとめたいです。
Excel(エクセル)
-
14
csvファイルを開かずに文字を検索し行を抽出したい
Visual Basic(VBA)
-
15
マクロを使ってフォルダー内にあるtxtデータをエクセルにデータに変換する方法をご教授願います
Excel(エクセル)
-
16
VBAでテキストファイルの改行を無視する方法
Access(アクセス)
-
17
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
18
スペースとスペースの間の文字を抽出する関数
Excel(エクセル)
-
19
テキストファイルの途中行から読み込む方法について
Visual Basic(VBA)
-
20
特定の文字を含む行だけ抽出する方法を探しています。
その他(ソフトウェア)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelVBAを使って、値...
-
特定のセルが空白だったら、そ...
-
i=cells(Rows.Count, 1)とi=cel...
-
Excelのハイパーリンクにマクロ...
-
【Excel】指定したセルの名前で...
-
Excelで指定した日付から過去の...
-
DataGridViewのセル編集完了後...
-
【Excel VBA】指定行以降をクリ...
-
EXCELで変数をペーストしたい
-
Excel vbaで特定の文字以外が入...
-
【VBA】指定したセルと同じ値で...
-
特定行の色を変えたい(FlexGrid)
-
VBAでセルをクリックする回...
-
EXCELのVBA-フィルタ抽出後の...
-
スプレッドシートの数値列に対...
-
VBAの計算で@が出てしまう件
-
セル色なしの行一括削除
-
3桁または4桁の数値を時刻に...
-
”戻り値”が変化したときに、マ...
-
TODAY()で設定したセルの日付...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBAを使って、値...
-
特定のセルが空白だったら、そ...
-
【Excel VBA】指定行以降をクリ...
-
i=cells(Rows.Count, 1)とi=cel...
-
【Excel】指定したセルの名前で...
-
Excelで指定した日付から過去の...
-
特定の文字を条件に行挿入とそ...
-
Excel VBA、 別ブックの最終行...
-
EXCELで変数をペーストしたい
-
Excelのプルダウンで2列分の情...
-
Excel vbaで特定の文字以外が入...
-
TODAY()で設定したセルの日付...
-
screenupdatingが機能しなくて...
-
DataGridViewの各セル幅を自由...
-
Sub 要具ライフ() ActiveSheet....
-
【EXCEL VBA】Range("A:A").Fi...
-
VBAを使用した時間管理
-
VBAでセルをクリックする回...
-
セル色なしの行一括削除
-
エクセルVBAでコピーして順...
おすすめ情報