- ベストアンサー
わからないことがあるので、質問します。
わからないことがあるので、質問します。 現在、Excel2007でデータA列に/で区切られたデータが1000ほどあります。 (※/での区切りは20ほどです) ワークシート上のコマンドボタンを押すと、/で区切られていたものがセルにsplitされるという方法を知りたいと思っています。区切り位置の設定でやれることはわかるのですが、いろいろな人がファイルを触り、何度も同じ作業を繰り返すので、どうしてもこの方法がわかればと思っております。 どなたかお助けください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
回答2です。 ご質問の内容からするとボタン一つでそのようなことができればとのことですね。その場合にはマクロを使って行うことになります。マクロを使った経験も少ないとのことですから次のようにしてはどうでしょう。 初めに「開発」タブからコードグループにある「マクロの記録」をクリックして表示される画面で、マクロ名の窓には「文字区切り」とでも入力してOKします。 その後に回答2で述べたと同じ操作を行います。A列の選択から始まります。 操作が終了したらコードグループにある「マクロの終了」をクリックします。 その後に「マクロ」をクリックすればその中に「文字区切り」が表示されていますのでその文字列をクリックして選択状態にし、「編集」をクリックすれば先ほどの操作に関するVBAコードが表示されます。 次にシートの上段部分にコントロールボタンを設置することにして、そのボタンをクリックすることで先のVBAコードが働くようにします。そのためには次の操作を行います。 「開発」タブで「挿入」をクリックし、「フォームコントロール」にある「ボタン(フォームコントロール)」を選択します。エクセル画面でマウスポインタが+の形に変わりますので左ボタンを押しながら四角を描くようにドラッグします。これで「マクロの登録」画面が表示されマクロ名の窓には[ボタン1_Click」のように表示がされています。その下の窓には「文字区切り」の表示があるでしょう。その「文字区切り」をクリックし、OKします。 エクセル画面にある[ボタン1]をクリックすることで先ほどのマクロが実行されます。
その他の回答 (2)
- KURUMITO
- ベストアンサー率42% (1835/4283)
A列を選択してから「データ」タブの「データツール」グループにある「区切り位置」をクリックし、「カンマやタブなどの区切り文字によって・・・・」にチェックがあることを確認して「次へ」を押します。区切り文字の項で「その他」の窓には / を入力して「次へ」、さらに「完了」ボタンを押します。 / が入った文字列は横の列に並んで表示されることになります。
補足
ありがとうございます。確かに、教えていただいた方法をみんなが覚えれば、よいのですが、周りにはエクセルの使い方があまり得意ではない年配の方が多いので、ボタン一つでできればいいなあと考えました。
- watabe007
- ベストアンサー率62% (476/760)
参考に For Each c In Range("A1", Cells(Rows.Count, "A").End(xlUp)) v = Split(c.Value, "/") c.Resize(, UBound(v) + 1).Value = v Next
補足
ありがとうございます。でも、VBAにあまり詳しくなく、その前後にどのようなことを書けばよいのか、調べてもよくわかりませんでした。教えていただけると、幸いです。
お礼
ありがとうございます。教えていただいた通りの方法でできました! マクロの記録とはこんなことまで記録できるとは知りませんでした。