[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『改行文字の入ったセルを分割する方法』(HT)
あるセル(A1)の中に、以下のように折り返されたデータが入っているとします。
JN69AaA01_12 JN69AaA01_15 JN69AaA01_17 JN69AaA01_M02 JN69AaA01_Y02
上記5つのデータをExcelVBAを使用して、5つのセルに分割して格納したく、色々試しているのですが方法が判りません。
御存知の方がいらっしゃいましたら、御教授願えませんでしょうか?
宜しくお願い致します。
VBAではないですが、一般機能でできます。 [[20050604082000]] 『セル内改行[ALT+ENTER]を検索する方法』(K) (kenbou)
あるシートのセルにある項目が複数行にわたり、設定されています(1行のみの場合もあり)。
そのシートを読み込み、別シートにVBAで編集し、その複数行ある値をキーとして、別シートの項目とマッチング処理を行ないたく思います。上述のセル分割(実際は、5行に分割して同一行のセルはそれぞれコピーする処理を行なう予定)はこのマッチング処理の過程で必要としています。
現在はこのセルの先頭8文字を使用してマッチングを行なっています。ここでの例はたまたま最初の8文字部分が同一文字なので問題はありませんが、当然異なる文字となるケースも存在します。その為、2つ目以降の文字列でのマッチングは無視され、最初の文字列だけの処理になります。
実際にはセルの中に設定されている改行時の文字列は可変長で、6桁〜13桁と混在になっています。
ボタン1クリックにて、DB検索、複数のシートのマッチングを行なっている処理ですので、何とかVBA一本で全て実行したいと考えている次第です。(HT)
こんな方法でもいいかも。 Sub test() Dim i As Long Dim Ary Ary = Split(WorksheetFunction.Substitute(Range("A1").Value, Chr(10), "*"), "*") For i = 0 To UBound(Ary) Range("A2").Offset(i).Value = Ary(i) Next i End Sub (kenbou)
ふと、見直していたら、ハッと気が付きました。 何も置換えしなくても・・・(^^; Sub test() Dim i As Long Dim Ary Ary = Split(Range("A1").Value, Chr(10)) For i = 0 To UBound(Ary) Range("A2").Offset(i).Value = Ary(i) Next i End Sub (kenbou)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.