エクセルVBAについて質問です。


次のページにあるマクロを作ってください。
http://hatena88.web.fc2.com/hatena/index2.html
最初に正解された方に100ポイントを差し上げます。

下記に同じような質問をしております。
http://q.hatena.ne.jp/1190877964
こちらの回答2を修正する形でご回答いただいても結構です。

マクロはエクセルに貼り付ければ、すぐに使えるような状態でご回答お願いします。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2007/09/28 06:53:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:taknt No.1

回答回数13539ベストアンサー獲得回数1198

ポイント100pt
Sub Macro1()
'
' Macro1 Macro
'

'検索用文字列 検索したい単語を増やす場合は、a(2) の 2を 増やしてください。
Dim a(2) As String
Dim f(2) As String


'検索したい文字列を セットします。 単語を 増やした場合は、追加してください。
a(1) = "hatena"
a(2) = "momonga"

'C列セット文字列
f(1) = "hatena"
f(2) = "mon"

For e = 1 To 65536
    c = Cells(e, 1)
    If c = "" Then Exit For
    For b = 1 To UBound(a)
        If InStr(c, a(b)) > 0 Then
            Cells(e, 2) = Trim(Left(c, InStr(c, a(b)) - 1))
            Cells(e, 3) = f(b)
            Exit For
        End If
    Next b
Next e
End Sub

C列は、キーとなる文字列以降かなと勘違いしてました。

id:taroemon

再度のご回答ありがとうございます。

うまくいきました。


こちらこそわかりにくい質問で失礼しました。

また教えてください。

2007/09/28 06:52:13
  • id:taroemon
    先ほど「うまくいきました」とコメントしましたが、
    パターン②は満たされていないのでしょうか?
  • id:taknt
    Exit For
    End If

    の箇所を
    Exit For
    ELSE
    Cells(e, 2) = c
    End If


    対象列の変更は
    Cells(e, 1)
    の 1 や 2、3 を 変更してください。
    1 は A列
    2 は B列
    3 は C列 です。

    D列にしたい場合は 4 とすればいいです。
  • id:taroemon
    うまくいきました。
    最後までおつきあいいただきありがとうございます。
    本当に助かりました。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません