• ベストアンサー

セルの中の改行された文字をひとつづつ取得したい

図のように A1には「あ」「い」「う」が改行されて入っています。 Sub test() Dim moji(3) As String moji(1) = Range("a1").Value moji(2) = Range("a1").Value moji(3) = Range("a1").Value End Sub というコードを書いた時、 moji(1) ="あ" moji(2) ="い" moji(3) = "う" としたいのですが すべて"あいう"になってしまいます。 実現させるにはどうすればいいでしょう? アドバイスよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

Split関数利用(既出)や InStr関数で出来ます。 Sub test01() k = 1 st = 1 x = Range("A1") While 1 p = InStr(st, x, Chr(10)) If p = 0 Then MsgBox Mid(x, st, Len(x) - st + 1) moji(k) = Mid(x, st, Len(x) - st + 1) Exit Sub Else MsgBox Mid(x, st, p - st + 1) moji(k) = Mid(x, st, p - st + 1) k = k + 1 st = p + 1 End If Wend End Sub

1wer56
質問者

お礼

うーん ちょっとエラーになっちゃいますねー 再度確認してみます。

その他の回答 (1)

  • suz83238
  • ベストアンサー率30% (197/656)
回答No.1

Sub xxx() moji = Split(Range("a1").Value, Chr(10)) MsgBox moji(0) MsgBox moji(1) MsgBox moji(2) End Sub

1wer56
質問者

お礼

ありがとうございます。できました。 しかも配列って0からはじまるんでしたね。

関連するQ&A