- 締切済み
Excelでの区切り位置について
Excelでの区切り位置について 下記の文字列をを「.」「~」「、」で区切りたいのですが、何か良い方法が ありましたら教えて下さい。 100-1.2 100-3~5 100-6、7、8
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
あまり質問で見たことの無い変な内容だ。 1レコードでは、ピリオド、波線、句読点のうちどれかしか区切りとする文字は無い(混合は無い) と考えて良いか。 それなら各レコードで、3文字を探し、存在した文字を区切り文字としてSplit関数で列に分ければ簡単。 2文字以上並存と、3文字間の優先関係など無いよね。 半角全角がはっきりしないが。質問には念を入れて正確に書くこと。 コードはGoogleででも、「VBA Split レコード」などで照会して、参考コードは出てくる。 Sub test01() Open "C:\Documents and Settings\XXXX\My Documents\text17.txt" For Input As #1 i = 1 Do Until EOF(1) 'ファイルより1件分を読み込み Line Input #1, strdata 'MsgBox strdata 'カンマなどで区切って配列に代入 x = InStr(strdata, ",") If x <> 0 Then MsgBox strdata varData = Split(strdata, ",") GoTo p1 End If x = InStr(strdata, "~") If x <> 0 Then varData = Split(strdata, "~") GoTo p1 End If x = InStr(strdata, "、") If x <> 0 Then varData = Split(strdata, "、") GoTo p1 End If p1: For j = 0 To UBound(varData) Cells(i, j + 1) = varData(j) Next j i = i + 1 Loop Close #1 End Sub 例データ aaa,12345,ああああ bbb~23456~いいい ccc、3421、ウウウウ 結果 Sheet1 aaa 12345 ああああ bbb 23456 いいい ccc 3421 ウウウウ
- keithin
- ベストアンサー率66% (5278/7941)