重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

エクセルから、テキスト文書(.txt)をインポートする機能を
VBAで作成しているのですが、1つのセルに複数の行を
入力する方法がわからず、困っています。ご存知の方い
らっしゃいましたら、ご教授よろしくお願いします。

↓途中までのコードです。↓
Sub ボタン1_Click()
Dim dir_name As String, file_name As String
Dim rn As Integer

dir_name = Application.GetOpenFilename( _
"テキストファイル (*.txt),*.txt", 1, _
"読み込み元のファイルをどれか一つ開いてください" _
)
If dir_name = "False" Then Exit Sub
file_name = Dir("*.txt", vbNormal)
rn = 1 ' 開始行 - 1 を設定

Do Until file_name = ""
rn = rn + 1
Call ImportText(file_name, rn)
file_name = Dir()
Loop
End Sub
'-------------------------------------------------------
Sub ImportText(file_name As String, rn As Integer)
Dim FileNum As Integer
Dim TextLine As String
Dim cn As Integer

FileNum = FreeFile()
Open file_name For Input Access Read As #FileNum

Application.StatusBar = "ファイル""" & file_name & """の内容を読み込んでいます。"

On Error GoTo CloseFile

Do Until EOF(FileNum)
Line Input #FileNum, TextLine
If cn < 6 Then
cn = cn + 1
Cells(rn, cn).Value = Trim(TextLine)
Else
★★★★★★★★★★★★★★★
End If
Loop
End Sub

『 ★★★★★★★★★★★★★★★』となっているところに、
Cells(rn, cn).Value = Trim(TextLine) と書いて、1つのセル
に残りの文章を全て入れようとしたのですが、このままでは上書
きされてしまい、最後の1行しか残っていません。

[例]残りの文字
こんにちは
こんばんは
おかえり。

↓これをそのまま1つのセルに↓
こんにちは
こんばんは
おかえり。

と入れるには、どのような記述をすれば良いのでしょうか?
(Excel2007を使用しています。)

A 回答 (1件)

こんにちは。



Cells(rn, cn).Value = Cells(rn, cn).Value & Chr(10) & Trim(TextLine)
とするとどうでしょうか。

マクロの最初のほうで、すべてのセルを空欄で初期化しておかなければいけませんが。
    • good
    • 0
この回答へのお礼

やりたいことを実現する事が出来ました!
本当にありがとうございましたm(_ _)m!

お礼日時:2009/06/30 21:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!