[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『素材と混率に区切りのカンマを付けたい』(さいとう)
すみませんお力を貸してください。
excelで
A B C 品番 カラー 素材と混率 の並びで表があります。
C列 素材と混率で
1)素材の半角カタカナを全角カタカナに修正
2)素材と混率に区切りのカンマを付けたい
ポリエステル100%→ポリエステル,100%
綿50%ポリエステル50%→綿,50%,ポリエステル,50%
最後の%はカンマなしです。
素材と混率は3種類のパターンもあります。
当初は量が少なかったのですが
2000行近くの膨大なデータに増えてしまい
検索→置換をちびちびやっていく方法では厳しくなってしまいました。
どうかよろしくお願い致します。
< 使用 Excel:Excel2013、使用 OS:Windows10 >
とりあえずVBA
Sub test() Dim a, i As Long, temp As String With Range("c2", Range("c" & Rows.Count).End(xlUp)) a = .Value With CreateObject("VBScript.RegExp") For i = 1 To UBound(a, 1) .Pattern = "(,)?([0-90-9]+[%%])": .Global = True temp = .Replace(a(i, 1), ",$2") .Pattern = "([ァ-ン゙゚]+)": .Global = False Do While .test(temp) temp = .Replace(temp, StrConv(.Execute(temp)(0), vbWide)) Loop a(i, 1) = temp Next End With .Value = a End With End Sub (seiya) 2017/06/22(木) 20:34
1)ワードにコピペ 2)半角カタカナを検索 検索する文字列: [ヲ-゚] 3)文字種を全角に変更 4)文末以外の%を置換 検索する文字列: (%)([!^x]) 置換後の文字列: \1,\2 5)エクセルにコピペ
(マナ) 2017/06/22(木) 20:40
検索する文字列: %([!^x]) 置換後の文字列: %,\1
(マナ) 2017/06/22(木) 21:17
seiyaさま マナさま 回答ありがとうございました
明日試してみます!
(さいとう) 2017/06/22(木) 22:44
>綿50%ポリエステル50%→綿,50%,ポリエステル,50% おっと、これに対応...
Sub test() Dim a, i As Long, temp As String With Range("c2", Range("c" & Rows.Count).End(xlUp)) a = .Value With CreateObject("VBScript.RegExp") For i = 1 To UBound(a, 1) .Pattern = ",*([0-90-9]+(?=[%%]))": .Global = True temp = .Replace(a(i, 1), ",$1") .Pattern = "([%%]),*(?!$)" temp = .Replace(temp, "$1,") .Pattern = "([ァ-ン゙゚]+)": .Global = False Do While .test(temp) temp = .Replace(temp, StrConv(.Execute(temp)(0), vbWide)) Loop a(i, 1) = temp Next End With .Value = a End With End Sub (seiya) 2017/06/22(木) 23:36
検索する文字列: ([!0-9])([1-9]) 置換後の文字列: \1,\2
(マナ) 2017/06/23(金) 07:50
お2人の方法でどちらも上手くいきました!
ワイルドカードは使ったことがなかったので
ExcelだけでなくWordも調べる機会が出来て良かったです。
本当に助かりました。ありがとうございます
(さいとう) 2017/06/24(土) 16:11
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.