• ベストアンサー

エクセルで単語データを作成したい

mitarashiの回答

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.5

#2の方の言及されているdictionary(連想配列)使用版です。 一旦配列に受けてから処理し、シートに転写していますので、少々分かり難いかもしれません。 Sheet1のA1から、A列の各セルに英文が入っているとします。途中に空白行がある事は想定しておりません。 Sub test() Dim srcArray As Variant, buf As Variant, dstArray() As Variant Dim i As Long, j As Long, myKeysCount As Long Dim myDic As Object, myKey As String, keys As Variant Dim srcSheet As Worksheet, dstSheet As Worksheet Set srcSheet = ActiveWorkbook.Sheets("Sheet1") '文の入っているシート Set dstSheet = ActiveWorkbook.Sheets("Sheet2") '出力先のシート 'セルの値を配列に入れる With srcSheet srcArray = .Range(.Range("A1"), .Range("A" & .Rows.Count).End(xlUp)).Value End With Set myDic = CreateObject("Scripting.Dictionary") '連想配列に入れる/既存アイテムの場合加算 For i = 1 To UBound(srcArray, 1) buf = Split(srcArray(i, 1), " ") For j = 0 To UBound(buf) myKey = buf(j) '文末の.を除去 If Right(myKey, 1) = "." Then myKey = Left(myKey, Len(myKey) - 1) If Not myDic.exists(myKey) Then myDic.Add myKey, 1 Else myDic.Item(myKey) = myDic.Item(myKey) + 1 End If Next j Next i keys = myDic.keys myKeysCount = UBound(keys) '出力データを一旦入れる配列のサイズを決めて、連想配列のデータを代入 ReDim dstArray(1 To myKeysCount + 1, 1 To 2) For i = 0 To myKeysCount dstArray(i + 1, 1) = keys(i) dstArray(i + 1, 2) = myDic.Item(keys(i)) Next i '出力先シートのA1セルから配列を丸ごと貼り付け With dstSheet .Cells.Clear .Range("A1").Resize(myKeysCount + 1, 2) = dstArray End With Set myDic = Nothing End Sub

ei60
質問者

お礼

ちょっと、私の最初の注文がまずかったのでみなさんにご迷惑をおかけしました。 みなさんのおかげで、悪戦苦闘の末、ほぼ思い通りの処理ができました。 英文の中から、指定の単語を抽出し、それを前述の単語リストでチェック、既出のものはその文番号を書き出す。 みなさんからの熱心な回答のおかげで、この3日間私も解決にくらいつくことができました。 これで自分なりの英文、単語のストックが可能になると思います。 一層、英語力の強化に努めたいと思います。 ユニークな提言をいただきましたので、また時間を見つけてトライしたいと思います。 ありがとうございました。

関連するQ&A

  • 至急。英語について。

    How is your boyfriend?に 『彼は元気だよ。たぶん彼は今寝てると思う。でも何でそんなこと聞くの?』と言いたいのですが、 He is fine. Maybe I wonder he is asleep now. but, why do you ask such a thing?←合ってますか?

  • 簡単な英文だと思うのですが…和訳依頼

    とても簡単な英文なのですが、意味が解りません。 シチュエーションをイメージできない、と言った方が正しいかもしれません。 和訳をお願いいたします。 I won't understand why you are crying if you don't talk to me. よろしくお願いします。

  • 和訳をお願いします

     英文の和訳をして下さい。 Imagine no possessions (財産なんてないて思ってごらん) この次の英文です、 I wonder if you can  …この文です。 you can →(出来る) ですよね、 wonder →(不思議、おどろく) ですよね、 …で、 I wonder if you can → 私はおどろく、もしできたら、 で、いいんでしょうか?? なんだか、違うような気がするのですが... 英文全体では、 (財産なんてないて思ってごらん 私はおどろく、もし出来たら) になるんですが… 文になってないような気がします、 もっと、しっくりくる和訳をどなたか教えて下さい。

  • 英分の違いを教えてください。

    「ミスしちゃった(^^;)」 という(軽い)感じの英文を知りたいのですが、 I made a mistake. I was mistake. どちらがいいのでしょうか? また、上の2つの英文はどう違うのですか? 宜しくお願いします。

  • 日本語に訳したいです。教えてください。

    前回ご回答して下さった方々、その説はありがとうございました。 いま英語の勉強で詩を訳すのに励んでいるのですが、これは訳せませんでした。自分でやくしてみました。分かる方いらっしゃいましたらご指導お願いしたします。 Cupid doesn't lie But you won't know Unless you give it a try , True love won't lie, But we won't know Unless we give it a try give it a try. キューピッドは嘘つかない(???)でも知ろうしない限り???真実の愛は嘘は言わないだろう(???) when I ask You to trust me That doesn't mean that I'm gonna cheat on you 'Cause I'm gonna never Do anything to hurt you Or mislead you I love you......... 私があなたに私を信じてると聞くときそれはだましているのではない・・・・(???) なぜならあなたをきずつけたり・・・この程度しか理解できませんでした。わかるかたいましたら教えてくださいお願いします

  • 英語

    i wonder why don't you post more picsとはどういう意味でしょうか? よろしくお願い致します。

  • そんなに「so」「such」の書き換えニュアンス

    英語初級レベルの者です。 形容詞・副詞を勉強していて、そんなにの意味で使われる「so」 と 「such」で書き換えができるとあります。(むちゃくちゃ基本ですが。) いまさらながらニュアンスや、書き言葉、口語的などの違いはあるのでしょうか? どれもイコール表現でしょうか? 「私はとても大きなミスをした。」  (1) I made so big a mistake.  (2) I made such a big mistake. ついでに  (3) I made a very big mistake. よろしくお願いします。

  • 英語 2択or3択問題

    (1)You do not need to stay here [unless/if/why]you want to. (2)He [had/did/made]a terrible political mistake. (3)The rumor proved[false/falsely]. (4)He was highly [disturbing/disturbed]by what happened to him yesterday. 上の(1)~(4)の問題をどなたか解いてください。 よろしくお願いします。

  • 動名詞の書き換え教えてください

    動名詞の書き換え教えてください i wonder why you did not take his advice. → i wonder (about) your not having taken his advice. (   )内が違うみたいなんです。何が入ったらいいのでしょうか? 教えてください

  • エクセルでVBE作成

    I want to eat an apple. What do you want to drink? このような英文データがたくさんあります。これをアットランダムで 1)単語をばらばらにした文 I  tanw  ot  tae  na  lpepa . ahtw  od  oyu  nwta  ot  rkdni ? 2)文をばらばらにした文 an   to   apple  I   eat  want  . want  do   drink  what  you  to  ?  VBEを使って作ることはできますか、教えてください。 よろしくお願いします。