[[20050614145654]] 『改行文字の入ったセルを分割する方法』(HT) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『改行文字の入ったセルを分割する方法』(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)


あ、でも先程の御回答で何とか出来そうです。試してみます。kenbou様、ありがとうございます。

 こんな方法でもいいかも。
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)


御提示頂いたコードを試してみたら確かに出来ます。これで何とかなりそうです。
kenbou様、重ね重ねありがとうございますm(__)m
(HT)

 ふと、見直していたら、ハッと気が付きました。
何も置換えしなくても・・・(^^;
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.