人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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



●質問者: taroemon
●カテゴリ:コンピュータ
✍キーワード:VBA エクセル ポイント マクロ 差し
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● atn
●50ポイント

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

◎質問者からの返答

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


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

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

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

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


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

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

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


2 ● きゃづみぃ
●50ポイント
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
◎質問者からの返答

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


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

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

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


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

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ