• 締切済み

Excelでの区切り位置について

Excelでの区切り位置について 下記の文字列をを「.」「~」「、」で区切りたいのですが、何か良い方法が ありましたら教えて下さい。 100-1.2 100-3~5 100-6、7、8

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

あまり質問で見たことの無い変な内容だ。 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)
回答No.1

方法1: 区切り位置を使う まず「.」で区切る。 「.」の無いでーたはそのまま残っているので,2回目「~」で区切る。 さらに3回目「、」で区切る。 方法2: Ctrl+Hで置換を出し, . を ~ に全て置換する つづけて 、 を ~ に全て置換する その上で区切り位置を使い,~で区切る。

関連するQ&A