Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


19126 / 76734 ←次へ | 前へ→

【63044】Re:セル内の文字の書き替え
発言  kanabun  - 09/10/3(土) 13:12 -

引用なし
パスワード
   ▼くまけん さん:

>変更後はA列とB列を見直すことでチェック

上のサンプルコードにちょっと追加してみました。
判別できなかったものは 「A?」「B?」などとB列に出力しますから
出力後、B列にフィルタをかけ
「B列の文字列が2文字以上」ある行だけ表示します。

Sub 所有者コード判別ex()
 Dim 範囲 As Range, 条件範囲 As Range
 Dim v As Variant
 Dim i As Long
 If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData
 Set 範囲 = Range("A1", Cells(Rows.Count, 1).End(xlUp))
 v = 範囲.Value
 v(1, 1) = "所有者コード"
 For i = 2 To UBound(v)
   Select Case True
     '確実なものから 仕分けする
     Case v(i, 1) Like "*会社*": v(i, 1) = "C"
     Case v(i, 1) Like "*(株)*":  v(i, 1) = "C"
     Case v(i, 1) Like "*(株)*": v(i, 1) = "C"
     Case v(i, 1) Like "*(有)*":  v(i, 1) = "C"
     Case v(i, 1) Like "*(有)*": v(i, 1) = "C"
     Case v(i, 1) Like "*法人*": v(i, 1) = "D"
     Case v(i, 1) Like "*神社*": v(i, 1) = "B"
     Case v(i, 1) Like "*寺*":  v(i, 1) = "B?"
     Case v(i, 1) Like "*宮*":  v(i, 1) = "B?"
     Case Else:         v(i, 1) = "A?"
   End Select
 Next
 範囲.Offset(, 1).Value = v
 
 Set 条件範囲 = [E1:E2]
 条件範囲.ClearContents
 条件範囲.Item(2).Formula = "=LEN(B2)>1"
 範囲.Resize(, 2).AdvancedFilter xlFilterInPlace, 条件範囲
 
 MsgBox "編集してください"
End Sub

3 hits

【63039】セル内の文字の書き替え くまけん 09/10/3(土) 10:43 質問
【63040】Re:セル内の文字の書き替え kanabun 09/10/3(土) 11:14 発言
【63042】Re:セル内の文字の書き替え くまけん 09/10/3(土) 11:39 発言
【63043】Re:セル内の文字の書き替え kanabun 09/10/3(土) 12:02 発言
【63045】Re:セル内の文字の書き替え くまけん 09/10/3(土) 13:19 発言
【63044】Re:セル内の文字の書き替え kanabun 09/10/3(土) 13:12 発言
【63046】Re:セル内の文字の書き替え くまけん 09/10/3(土) 13:32 お礼

19126 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free