
下記のようなテキストファイルから、山田太郎の後ろの数値のみを、エクセルのシートに抜き出すにはどのようにしたらよいのでしょうか。
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も見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
任意フォルダから画像をすべて...
-
エクセルvbaで、別シートの最下...
-
i=cells(Rows.Count, 1)とi=cel...
-
ExcelVBAを使って、値...
-
Excelで指定した日付から過去の...
-
【VBA】シート上の複数のチェッ...
-
任意フォルダから画像をすべて...
-
エクセルvbaのワークシート関数...
-
【Excel】指定したセルの名前で...
-
特定のセルが空白だったら、そ...
-
EXCELのVBA-フィルタ抽出後の...
-
Word版VBで表の任意の箇所を...
-
Application.Matchで特定行の検索
-
Excel VBA、 別ブックの最終行...
-
VBAでセルをクリックする回...
-
【Excel VBA】指定行以降をクリ...
-
DataGridViewでコードで値を入...
-
EXCELで変数をペーストしたい
-
VBA初心者です。結合セルを保持...
-
Excelに保存されているユーザー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBAを使って、値...
-
i=cells(Rows.Count, 1)とi=cel...
-
Excelで指定した日付から過去の...
-
エクセルvbaで、別シートの最下...
-
特定のセルが空白だったら、そ...
-
VBA実行後に元のセルに戻りたい
-
【Excel VBA】指定行以降をクリ...
-
任意フォルダから画像をすべて...
-
【Excel】指定したセルの名前で...
-
VBAでセルをクリックする回...
-
【VBA】シート上の複数のチェッ...
-
Excelのプルダウンで2列分の情...
-
EXCELのVBA-フィルタ抽出後の...
-
Excel vbaで特定の文字以外が入...
-
”戻り値”が変化したときに、マ...
-
TODAY()で設定したセルの日付...
-
ExcelのVBAで数字と文字列をマ...
-
VBA ユーザーフォーム ボタンク...
-
Excel VBA マクロ ある列の最終...
-
Excel VBA、 別ブックの最終行...
おすすめ情報