| 
    
     |  | > セルの枠線が反映されず、また字数によって > (でこぼこして)きれいにならなくなってしまうのです・・・。
 
 まぁ、簡単な方法としては、Tab を入れるか、1セルの文字数を揃える方法
 だと思います。
 
 例えば、文字数を揃えるのであれば、こんな感じで如何でしょうか。
 
 
 Dim MailBody As String
 Dim LineBody As String
 Dim MyR As Range, C As Range
 Dim i As Long
 Dim N As Integer
 Dim Spn
 Spn = Array(10, 5, 10, 10, 20) ' <--- 各列の文字数を指定
 Set MyR = ActiveSheet.UsedRange
 For i = 1 To MyR.Rows.Count
 LineBody = ""
 N = 0
 For Each C In Intersect(MyR, Rows(i))
 LineBody = LineBody & _
 Left(StrConv(C.Text & String(20, " "), vbWide), Spn(N))
 If N < UBound(Spn) Then N = N + 1
 Next
 If LineBody <> "" Then
 MailBody = MailBody & LineBody & vbCrLf
 End If
 Next i
 
 |  |