- ベストアンサー
【VBA ・ エクセル】 テキストファイルから特定情報をぬきだすには
pen_pen_penの回答
- pen_pen_pen
- ベストアンサー率65% (52/79)
>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
関連するQ&A
- エクセルでお聞きしたいことがあります。
エクセルでお聞きしたいことがあります。 例えばセルA1に山田と入力してセルB2に太郎と入力します。 そしてセルA3に =A1&B2 と入力すると山田太郎となりますが、 これを苗字と名前の間に空白を入れたいです。→ 山田 太郎 初歩的な質問ですが宜しくお願いします。
- ベストアンサー
- その他([技術者向] コンピューター)
- Excelで複数行の置き換えを行いたい
Excelで複数行の置き換えを行いたいと考えています。 例えば、Excelのシートの中身が aaaaaa bbbbbb cccccc bbbbbb aaaaaa bbbbbb であったとします。このとき、 aaaaaa bbbbbb を zzzzzz vvvvvv に置き換えて、 zzzzzz vvvvvv cccccc bbbbbb zzzzzz vvvvvv というようにしたいです。 なにか良い方法はないでしょうか?
- 締切済み
- オフィス系ソフト
- エクセルの質問
例えばメモ帳に、 aaaaaa,,111111,,222222 bbbbbb,,333333,,444444 あるとして、これを2行まとめてコピーしてエクセルに貼り付けると、 A1にaaaaaa,,111111,,222222 A2にbbbbbb,,333333,,444444 と入ってしまいます。 これを、 A1にaaaaaaB1に,,C1に111111D1に,,E1に222222 A2にbbbbbbB2に,,C2に333333D2に,,E2に444444 と貼り付けられる何か良い方法はありませんでしょうか? なぜ行はA1、A2とセルを分けて入るのに列は分かれてくれないのでしょうか? 分かる方是非教えてください。
- ベストアンサー
- オフィス系ソフト
- エクセルでこんなのをつくりたいのですが、、
エクセルでこんなのをつくりたいのですが、、 こんばんわ。エクセルで以下のようなものを作ろうと、参考書片手にがんばっている者です。 例1) ・シート1のセルA1に『山田』と入力 ・同じくシート1のセルA2に『太郎』と入力 ↓ ・シート2のセルA1に『山田』、A2に『太郎』と赤文字で表示 例2) ・シート1のセルA1に『山田』と入力 ・同じくシート1のセルA2に『一太郎』と入力 ↓ ・シート3のセルAに『山田』、A2に『一太郎』とサイズ20Pで表示 つまり、シート1に入力した文字の文字数によって、それぞれ、違う文字体裁が設定してあるシートに表示させようとしています。 条件付書式?それとも文字を抜き出す関数なのかと考えましたが、多分、これはVBAをつかわないとできない事なのでわと思い質問させていただきました。 よろしければ、参考になるサイト、ヒントなどありましたら、教えてください。お願いします。
- ベストアンサー
- その他MS Office製品
- テキストをコピーしてエクセルのセルに数字だけ貼には
お世話になります。 どなたかお詳しい方がいらっしゃいましたらお助けください。 下記のテキストファイルのデータをコピーして (162.8 -187.5 -100) (158.8 -46.117 -25.655) エクセルのシートに下記のように貼り付けるにはどうしたらよいでしょうか? A1 B1 C1 162.8 -187.5 -100 158.8 -46.117 -25.655 ()を外して一発で数値だけを各セルに貼り付けたい。
- ベストアンサー
- その他(ITシステム運用・管理)
- エクセルでセルの連結の逆
エクセルでA1に「山田」、B1に「太郎」と入っていて、「山田太郎」としたい場合には =A1&B1 と入力し、セルを連結させますよね。 それの逆で、すでにA1に「山田 太郎」と入っているものを「山田」と「太郎」にわけることはできますでしょうか。 ちなみに「山田」と「太郎」の間にはスペースが入っています。
- ベストアンサー
- オフィス系ソフト
- エクセルVBAで、数字をテキストファイルに書き出したい
print #1,cells(1,1) のようにセルの値をテキストファイルに書き出しています。 セルには、6が入力されていて、表示は6.00 にしてありますが、書き出すと当然6になってしまいます。セルの書式を、文字列にすればいいのでしょうが、入力や計算の都合で、数値のままにしたいのです。見えている通りにテキストに書き出すには、どのようにしたら良いですか? よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- エクセル上のVBA
当方、VBAまるっきり初心者です(触りはじめて3日くらい)。 エクセルはある程度理解しているつもりですが… バージョンはエクセル2000です。 他シートのセルのひとつに入力すれば、 別シートのセルがそれを参照したうえで 値として表示出来るようにならないでしょうか。 今のところ、以下のような状況です。 step01 sheet1のセルA1に任意の数値(整数限定です)を入力。 step02 sheet2のセルA1に、sheet1のセルA1の数値を用いて MOD関数で余りを出す。 step03 sheet2のセルB2に以下のVBAによって step02の余りを値として表示。 Private Sub Worksheet_Change(ByVal Target As Range) Range("b2").Value = Range("a1") End Sub これだとsheet1の数字を変えても、 sheetの切替後sheet2のセルB2に 表示される値が変わってくれません。 最初の入力(step01の入力)をおこなえば sheet2のセルB2まで値が変わってくれるような方法を 教えていただけないでしょうか。 拙い説明で申し訳ありませんが、よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセル/行選択の仕方を教えてください。
はじめまして。 エクセルで、3行ごとに選択し、選んだ情報を列に移す作業をしたいのですが 1800行あり手で選択するのが大変です。 行いたい作業は以下の通りです。 A列 AAAAAA BBBBBB CCCCCC AAAAAA BBBBBB CCCCCC AAAAAA BBBBBB CCCCCC AAAAAA ↓ A列 B列 C列 AAAAAA BBBBBB CCCCCC AAAAAA BBBBBB CCCCCC AAAAAA BBBBBB CCCCCC 一行一行選択して列に移すのではなく選択できる方法がありましたら 是非ご教授ください。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- エクセルVBAでテキストを出力したい
エクセルVBAでテキストを出力したいのですが、 やり方がわからないので教えてください。 仮にSheet2のA列に文章があるとして、 シート全体を1つのテキストファイルとして出力し、 ファイル名をSheet1のA1セルにしたいです。 同じような質問もあるのですが、ファイル名に関しては、 ちょっと見当たらなかったので質問しています。
- ベストアンサー
- オフィス系ソフト
お礼
ありがとうございます。 改造を最小限にするなら、下記解答の Cells(i, "A") = s この部分を除くだけですみました。 どうやら、わたしは Line Input #1, a このへんの理解が欠けていたようです。 回答者様のおかげでスキルが少しアップしました。