- ベストアンサー
エクセルのマクロで『区切り位置』設定できない
マクロの素人です。 Win XPでエクセルでセルの中味を区切る設定をしたところ、うまくいきません。 例えば、A列の 経営管理:情報部 をコロンで区切るというマクロを組みます。マクロを実行すると |経営管理|情報部| という結果になります。 しかし、他の値でマクロを実行しても、4文字目で強制的に区切られてしまいます。 セルに何文字入っていようが、「:」でセルを分けたいのですが、マクロの組み方での解決方法を教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
手元のExcel2003では特に問題ありません。 記録したままだと、こうなってました。 Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _ Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _ :=":", FieldInfo:=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True -- > 他の値でマクロを実行しても、4文字目で強制的に区切られてしまいます。 Excelのバージョンが違うとか、やり方がマズイのでは?としか…。
その他の回答 (2)
- neKo_deux
- ベストアンサー率44% (5541/12319)
> どこの設定がおかしいのでしょうか? マクロを記録する時の手順は正しいですか? 範囲選択 [データ]-[区切り位置] 「区切り位置指定ウィザード-1/3」ウィンドウ 「カンマやタブ場どの区切り文字によってフィールドごとに区切られたデータ」を選択し、次へ。 「区切り位置指定ウィザード-2/3」ウィンドウ 区切り文字の「その他」をon、文字に「:」を指定し、完了。 で記録されました。 > FieldInfo:=Array(Array(0, 1), Array(55, 1), Array… の結果を見ると、複数の区切り位置を固定で設定しているように見えます。
お礼
ありがとうございます。 やはり手順が間違っておりました。 お恥ずかしいばかりです・・・。
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。単に、文字列の場合、以下のようでいいはずです。ただし、上書きモードです。 最初に、マウスで選択します。 Sub Test1() Selection.Columns(1).TextToColumns _ Destination:=Selection.Cells(1, 1), _ Other:=True, _ OtherChar:=":" End Sub サンプル 経営管理:情報部 総務:人事 第一営業:開発 仕入:購入 でやってみましたが、問題はありませんでした。
お礼
ご回答いただいた式をそのままコピペして使いました。 ありがとうございました。
補足
私のマクロでは、以下のようになっています。どこの設定がおかしいのでしょうか? Selection.TextToColumns Destination:=Range("E8"), DataType:=xlFixedWidth, _ FieldInfo:=Array(Array(0, 1), Array(55, 1), Array(104, 1), Array(159, 1), Array(190, 1 _ ), Array(245, 1), Array(296, 1), Array(367, 1), Array(444, 1), Array(505, 1), Array(554, 1) _ , Array(593, 1), Array(640, 1)), TrailingMinusNumbers:=True