[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『VBAで漢字抽出について』(エイコ)
[[20050322201151]]で回答のあった
コードについて、このコードを大変重宝させていただいております。
(回答者の(SoulMan)様ありがとうございます。)
ハイフン(全角、半角)と括弧(全角半角、墨付き括弧)
が混じっているとエラーが出ます。
エラーを回避出来るようにするには、どのようにコードを足せばよろしいでしょうか?
お願いいたします。
Option Explicit
Sub てすと()
Dim MyA As Variant
Dim MyStr As String
Dim i As Long, j As Long
With Sheets("Sheet1")
MyA = .Range("A1", .Range("A65536").End(xlUp)).Value ReDim MyAry(1 To UBound(MyA, 1), 1 To 1) For i = 1 To UBound(MyA, 1) MyStr = MyA(i, 1) For j = 1 To Len(MyStr) If StrConv(StrConv(Mid(MyA(i, 1), j, 1), vbKatakana), vbWide) = _ StrConv(Mid(MyStr, j, 1), vbNarrow) Then MyAry(i, 1) = MyAry(i, 1) & Trim(Mid(MyStr, j, 1)) End If Next Next .Range("B1").Resize(UBound(MyA, 1), UBound(MyA, 2)).Value = MyAry End With End Sub
< 使用 Excel:Excel2013、使用 OS:Windows10 >
例えば、どんなデータでしょうか?
(マナ) 2017/11/22(水) 22:02
(γ) 2017/11/22(水) 22:05
エラーは
13、型が一致しません。
でした。
マナ様のご質問にご返信すべく、テストデータを作ってみて上記マクロを実行したところ、
エラーが起きずそのまま漢字のみ抽出出来ました。
エラーが起きた環境に問題があったのでしょうか?
会社のPCで、win10、エクセル2013、32bit、OSは64bitでした。
当方のPCはwin7、エクセル2007、32bit、OSは64bitでした。
もしくは、会社の元データの書式の問題かもしれません。
申し訳ありません。元データの書式はきちんと確認をしておりませんでした。
一応、元データを全てコピーした後、値貼り付けをしてみましたエラーが出ました。
Y様にご回答いただいたPatternプロパティをコードの中に組込みました。
テストデータで問題なく実行できました。ありがとうございます!
週明けにテストを行ってみて、データ型を確認し、
それでも疑問点がありましたらまたご相談に上がります。
お二人とも、どうもありがとうございました。
(エイコ) 2017/11/23(木) 12:15
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.