Excelの質問です。

A列に,1行目から順に3万名分の個人氏名が入力されています。
そのなかに,氏名の一部に外字エディタで作成した外字が含まれているセルがあります。
セルの一部に外字が含まれているときに,外字が含まれる行のB列に何らかのマーク(「外字」や数字の「1」など)をつける方法はありますか。
Excelのバージョンは2003ないし2007です。

回答の条件
  • 1人2回まで
  • 登録:2009/08/05 09:58:04
  • 終了:2009/08/05 11:17:09

回答(2件)

id:HALSPECIAL No.1

HALSPECIAL回答回数407ベストアンサー獲得回数862009/08/05 10:21:29

ポイント35pt

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

id:SALINGER No.2

SALINGER回答回数3454ベストアンサー獲得回数9692009/08/05 10:42:16

ポイント35pt

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
  • id:humberthumbert
    ご回答をいただきありがとうございました。
    恥ずかしながら,VBAに関する知識が全くなかったため,
    今回教えていただいた方法を実行するべく,勉強したいと思います。
  • id:HALSPECIAL
    HALSPECIAL 2009/08/05 11:47:44
    では、自作のワークシート関数はいかがですか?


    手順
    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を返す関数です。
  • id:humberthumbert
    できました! ありがとうございます。
    これまで目視で行なっていた作業が一瞬でできてしまい,感動するとともに,
    自分の不勉強を恥じる次第です。
  • id:HALSPECIAL
    HALSPECIAL 2009/08/07 11:11:15
    ポイントありがとうございました。

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

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

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

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