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

次のページにあるようなマクロを作ってください。
http://hatena88.web.fc2.com/hatena/
最初に正解された方に100ポイントを差し上げます。
マクロはエクセルに貼り付ければ、すぐにつかるような状態でお願いします。

回答の条件
  • 1人2回まで
  • 登録:2007/09/27 16:26:06
  • 終了:2007/09/28 02:29:08

回答(2件)

id:atn No.1

atn回答回数9ベストアンサー獲得回数12007/09/27 17:06:16

ポイント50pt

Sub 書き換え()

Columns("A:A").Select

Selection.Copy

Columns("B:C").Select

ActiveSheet.Paste

Columns("B:B").Select

Selection.Replace What:="hatena*", Replacement:="", LookAt:=xlPart, _

SearchOrder:=xlByRows, MatchCase:=False

Selection.Replace What:="momonga*", Replacement:="", LookAt:=xlPart, _

SearchOrder:=xlByRows, MatchCase:=False

Columns("C:C").Select

Selection.Replace What:="*hatena*", Replacement:="hatena", LookAt:=xlPart, _

SearchOrder:=xlByRows, MatchCase:=False

Selection.Replace What:="*momonga*", Replacement:="mon", LookAt:=xlPart, _

SearchOrder:=xlByRows, MatchCase:=False

'hatena も momonga も無いときの処理

A = Cells(Rows.Count, 1).End(xlUp).Row

For B = 1 To A

C = Cells(B, 1)

D = Cells(B, 2)

If C = D Then

Cells(B, 2) = "" 'データをB列に残したいときはこの行消してください。

Cells(B, 3) = ""

End If

Next B

End Sub

id:taroemon

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


コンパイルエラーが出ました。

たぶん私の環境の問題のせいだと思いますが、

「エクセルに貼り付ければ、すぐにつかるような状態」

というのが条件でしたので、あしからずご了承ください。


下記のページで再質問しています。

http://q.hatena.ne.jp/1190913476

よろしかったらご回答ください。

2007/09/28 02:19:22
id:taknt No.2

きゃづみぃ回答回数13539ベストアンサー獲得回数11982007/09/27 17:53:37

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

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

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


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) = Left(c, InStr(c, a(b)) - 1)
            Cells(e, 3) = Right(c, Len(c) - InStr(c, a(b)) + 1)
            Exit For
        End If
    Next b
Next e
End Sub
id:taroemon

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


おおむね満足しているのですが、

「momonga」が「mon」に置換されていませんでした。

あしからずご了承ください。


下記のページで再質問しています。

http://q.hatena.ne.jp/1190913476

よろしかったらご回答ください。

2007/09/28 02:27:31
  • id:taroemon
    お二人の回答者の方へ

    再回答のページは下記にあります。
    http://q.hatena.ne.jp/1190915989
    よろしければご回答ください。
  • id:atn
    回答するときに改行が入ったのが原因のようです。
    知識不足ですいません。失礼しました。

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

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

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

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません