A列に,1行目から順に3万名分の個人氏名が入力されています。
そのなかに,氏名の一部に外字エディタで作成した外字が含まれているセルがあります。
セルの一部に外字が含まれているときに,外字が含まれる行のB列に何らかのマーク(「外字」や数字の「1」など)をつける方法はありますか。
Excelのバージョンは2003ないし2007です。
VBAは可ですか?
未確認ですが、こちらでどうでしょう。
Option Explicit Public Sub CheckGAIJI() 'A列のチェック開始セルをアクティブにした状態で実行 Do Until ActiveCell.Value = "" If ActiveCell.Value Like "*[" & Chr(&HF040) & "-" & Chr(&HF9FC) & "]*" Then ActiveCell.Offset(0, 1).Value = "外字" End If ActiveCell.Offset(1, 0).Activate Loop End Sub '参考:No36343.外字チェックの方法 ' http://www.accessclub.jp/bbs3/0101/superbeg36343.html
VBAでの方法です。
Sub Macro() Dim lastRow As Long Dim i As Long lastRow = Cells(Rows.Count, 1).End(xlUp).Row For i = 1 To lastRow If Cells(i, 1).Value Like "*[" & Chr(&HF040) & "-" & Chr(&HF9FC) & "]*" Then Cells(i, 2).Value = "外字" Else Cells(i, 2).Value = "" End If Next End Sub
コメント(4件)
恥ずかしながら,VBAに関する知識が全くなかったため,
今回教えていただいた方法を実行するべく,勉強したいと思います。
手順
1.以下のプログラムをメモ帳などのテキストエディタに張り付けます。
=================================================================ここから
Attribute VB_Name = "ユーザー定義関数_外字チェック"
Option Explicit
Public Function IsGAIJI(r As Range) As Boolean
IsGAIJI = r.Value Like "*[" & Chr(&HF040) & "-" & Chr(&HF9FC) & "]*"
End Function
=================================================================ここまで
2.「ユーザー定義関数_外字チェック.bas」という名前で保存します。
3.次のページを参考に先ほどのファイルをインポートします。
Excelでユーザー定義関数をエクスポート/インポートする
http://www.atmarkit.co.jp/fwin2k/win2ktips/469funcexport/funcexport.html
4.「IsGAIJI」という関数が使えるようになります。
例えば、A1のセルをチェックする場合は、
B1のセルに、
=IF(IsGAIJI(A1),"外字","")
と入力します。
※IsGAIJI 関数は、外字が含まれる場合はTrueを返す関数です。
これまで目視で行なっていた作業が一瞬でできてしまい,感動するとともに,
自分の不勉強を恥じる次第です。