No.1です。
>B列のデータを変更したときに自動でC~L列に取り出し出来るようにしたいので
とありますので、VBAでの一例です。
画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に
↓のコードをコピー&ペーストしてマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)
Sub Sample1() 'この行から
Dim i As Long, k As Long, endCol As Long, myArray
For i = 2 To Cells(Rows.Count, "B").End(xlUp).Row '←2行目~B列最終行まで
endCol = Cells(i, Columns.Count).End(xlToLeft).Column
If endCol > 2 Then
Range(Cells(i, "C"), Cells(i, endCol)).ClearContents
End If
myArray = Split(Cells(i, "B"), "-")
For k = 0 To UBound(myArray)
With Cells(i, k + 3)
.Value = myArray(k)
.NumberFormatLocal = "0.0"
End With
Next k
Next i
End Sub 'この行まで
※ 関数でないのでデータ変更があるたびにマクロを実行する必要があります。
尚、「B列のデータを変更したときに」を重視すれば
ChangeイベントでB列データ変更時にマクロを走らせる方法もあります。
(1行ずつの変更時)
今回はこの程度で・・・m(_ _)m
お礼
素晴らしい。見事にやりたい事が出来ました。 仕組みの理解はいまいちなので、勉強に励みたいと思いますm(_ _)m ありがとうございました。