『Excel VBA split関数マクロのうまい使い方を教えてください。』
エクセルworksheet内のC4からC6までの複数行の文字を\でsplitした上で、分割文字を列に並べたいのですが、全ての分割した文字を並べる方法をどなたかご教授願います。
Sub Test() Dim rr As Range Dim bb Range("C4") = "AA\BB\CC\DD" Range("C5") = "AA\BB\CC\DD\EE\FF\GG" Range("C6") = "AA\BB\CC\DD\EE\FF\GG\HH\RR\TT\YY" For Each rr In Range("C4:C6").Rows bb = Split(rr, "\") Cells(rr.Row, 7) = bb(0) Cells(rr.Row, 8) = bb(1) Cells(rr.Row, 9) = bb(2) Cells(rr.Row, 10) = bb(3) Cells(rr.Row, 11) = bb(4) '←C4の列数が4列なのでここでエラーが出る!それを回避したい! Next End Sub
コードは「コードの挿入」で記入してください。
> ←C4の列数が4列なのでここでエラーが出る!それを回避したい!
何のエラーですか?
エラー内容ですが
インデックスが有効範囲にありません
というエラーがでます。
原因はわかっているのですが、それを回避する方法がわからないため
精通者にお尋ねしたく
コードは「コードの挿入」で記入されましたが、インデントがなく読みにくいままです。(私が修正依頼をしたのはコードを読みやすくして欲しかったからです)
> エラー内容ですがインデックスが有効範囲にありませんというエラーがでます。
質問に追記してください。
> 原因はわかっているのですが、それを回避する方法がわからないため
質問者さんが考えている”原因”についても質問に追記するべきです。
泣きたくなってきました。どうやら場違いのところに来てしまいました。すみませんでした。
回答者は質問に書いてあることしか分かりません。回答するために必要なので質問や依頼をしています。(質問者さんと回答者ではOS、Excelのバージョン等環境も違うでしょうし、少しでも正確な回答をするための確認作業です)
ありがとうございます。
私が求めていたことが出来ました。
今後は質問内容をもっと具体的かつ詳細に書くことに努めます。
hatena19さんの回答がシンプルで良いかもですね。
回答2件
あなたの回答
tips
プレビュー