• ベストアンサー

エクセル2003で半角のみを削除するマクロ

以下のように、半角英数のタグに囲まれた全角文字の文から、半角英数(タグ部分のみ)を削除し、全角文字だけを抽出するマクロを組みたいです。 実際の使用タグは数パターンあります。 マクロに詳しい方、よろしくおねがいします。 ------------------- (現在) A1セル:<tr bgcolor="#0000ff"><td>い組</td><td>ヤマダ</td></tr> A2セル:<tr align="center" valign="middle"><td>ろ組</td><td>モリ</td></tr> A3セル:<tr><td>はに組</td><td>コバヤシ</td></tr> ↓ (やりたいこと) A1セル:い組ヤマダ A2セル:ろ組モリ A3セル:はに組コバヤシ

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

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

次の方法は如何でしょうか。 「置換→検索文字列欄に<*>、置換文字列欄は未入力→すべて置換」をマクロ記録した例です。 Sub 半角タブ削除() Cells.Replace What:="<*>", Replacement:="", LookAt:=xlPart, SearchOrder _ :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False End Sub

OOOnia
質問者

お礼

すばやいアドバイスありがとうございました! <*>で指定できるなんて、目からうろこでした

その他の回答 (1)

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.2

お試し有れ Sub test() Dim i As Long, ii As Integer Dim a As String, b As String With Worksheets("sheet1") For i = 1 To .Range("a65336").End(xlUp).Row a = "" If Not .Cells(i, 1).Value = "" Then For ii = 1 To Len(.Cells(i, 1).Value) b = .Cells(i, 1).Characters(Start:=ii, Length:=1).Caption If Asc(b) < 0 Then a = a & b End If Next ii End If .Cells(i, 1).Value = a Next i End With End Sub 多分出来ると思う

OOOnia
質問者

お礼

アドバイスありがとうございました。 マクロはまだまだ勉強中ですが、読み解いていってみようと思います

関連するQ&A

専門家に質問してみよう