| 
    
     |  | ▼UO3 さん: 一旦、お礼を申し上げた後にもう一度質問ですみません。
 参考の例をもとに、
 配列のインデックスを使った記述もつくってみたのですが、
 うまくいきません。
 
 Sub ファイル読み込み4_3()
 
 Dim myfilenames As Variant
 Dim i As Integer
 Dim temp As String
 
 Dim d As Variant
 Dim j As Long
 
 myfilenames = Application.GetOpenFilename(MultiSelect:=True)
 
 If IsArray(myfilenames) = True Then
 If UBound(myfilenames) > ThisWorkbook.Worksheets.Count Then
 MsgBox "選択されたファイル数が転記用シート数を超えています"
 Else
 
 For i = 1 To UBound(myfilenames)
 
 temp = Space(FileLen(myfilenames(i)))
 
 Open myfilenames(i) For Binary As #i
 
 Get #i, , temp
 
 Close #i
 
 d = Split(temp, vbCrLf)
 j = 1
 
 For j = 1 To UBound(d)
 
 ThisWorkbook.Worksheets(i).Cells(j, "A").Value = d(j)
 j = j + 1
 
 Next j
 
 
 Next i
 
 End If
 
 End If
 
 
 End Sub
 
 これを実行すると
 なぜか、1行置きにデータが転記され、
 1行空白のセルができてしまいます。
 
 ウォッチ式で
 ThisWorkbook.Worksheets(i).Cells(j, "A").Value = d(j)
 の右辺と左辺を追ってみていくと、
 d(j)には値が格納されているにも関わらず、
 左辺には1行ずつにempty値が代入されていきます。
 
 なぜでしょうか。
 またお手すきのとき教えてください。
 
 
 |  |