• ベストアンサー

超初心者 マクロの作り方教えてください!

入門レベルのくせにいきなり難しいことをするな、とお叱りを受けそうですが、下記のような操作を行う場合のマクロの作り方(コード)を教えてください。 sheet1 E列の全ての☆を★に変換 sheet1 E列の全ての★を※に変換 sheet1 E列の全ての※をクリア 単純なクリアのマクロの作り方はわかったのですが、条件付の変換やクリアの作り方がわかりません。無謀な質問かもしれませんが、よろしくお願いします。m(__)m

質問者が選んだベストアンサー

  • ベストアンサー
  • GETSTREET
  • ベストアンサー率18% (14/74)
回答No.2

Sub 変換() Dim 行 行 = 1 Cells(1, 5).Select 下段 = Cells(65536, 5).End(xlUp).Row Cells(行, 5).Select Do If 行 > 下段 Then Exit Sub End If If Cells(行, 5).Value = "☆" Then Cells(行, 5).Value = "★" End If 行 = 行 + 1 Cells(行, 5).Select Loop End Sub 上記は☆なら★へという命令です。あと応用してください。

kaerururun
質問者

お礼

ありがとうございます。 コードって英語ばっかりなんだと思ってたら 『行』なんて漢字をいれてもいいんですね。 (↑ド素人な質問でしょうか(^_^;)) GETSTREETさんのコードをありがたく使用させていただき、応用も利かせて、三つの動作を合わせてできるようなマクロを作ることができました。 ありがとうございます。

その他の回答 (1)

  • timber
  • ベストアンサー率29% (218/739)
回答No.1

Excel2000なら下記でできます。 Sub Macro1() Columns("E:E").Select Selection.Replace What:="☆", Replacement:="★", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False Selection.Replace What:="★", Replacement:="※", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False Selection.Replace What:="※", Replacement:="", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False End Sub Excelにはキーボードマクロという機能があります。 「ツール」-「マクロ」-「新しいマクロの記録」とすると、 マクロの記録というウィンドウがでるので、そのまま「OK」をクリック。(マクロ名は覚えておいてください) すると記録終了の四角のボタンと相対参照のアイコンだけの小さなウィンドウが表示されます。 この状態で行われた作業はすべてマクロに記録されます。 最後にマクロの終了ボタンをおすと、マクロが作成されますので 「ツール」-「マクロ」-「Visual Vasic Editor」でエディタを起動して作成されたマクロを確認してください。 この機能を使えばこの操作をマクロで表現するにはという質問はする必要がなくなります。

kaerururun
質問者

お礼

ありがとうございます。 Excel2000なので、そのままはっつけて試したのですが、うまくいきませんでした。というか、マクロを実行すると、記号が全部消えちゃいました。(?_?) 結局#2の方のコードをはっつけて成功しましたが、大変参考になりました。ありがとうございます。

関連するQ&A

専門家に質問してみよう