| 
    
     |  | マクロ超初心者です。 A列に数行にわたって書かれた短い文章を連結するマクロを作成したいと
 初心者なりに頑張ってみました。初期の目的は達成したのですがどうも
 気に入りません。
 行数に前提条件があるのと、構文がいかにも初心者・・・・・・。
 どなたか行数に前提のないスマートな方法を教えて下さい。
 
 元データー
 A10    ○○○    ←やりたいこと
 A11    △△
 A12    ×××
 ↓
 結果
 A10    ○○○△△×××
 
 ちなみに3行までのものを載せておきます
 (恥ずかしながらこの方法で実際には行を増やしてやっています)
 
 Sub 短文合成()
 
 Dim m As Integer
 m = Selection.Rows.Count
 
 ActiveCell.Offset(m, 0).Rows("1:1").EntireRow.Select
 Selection.Insert Shift:=xlDown
 If m = 3 Then
 ActiveCell.FormulaR1C1 = _
 "=CONCATENATE(R[-3]C,R[-2]C,R[-1]C)"
 
 ElseIf m = 2 Then
 ActiveCell.FormulaR1C1 = _
 "=CONCATENATE(R[-2]C,R[-1]C)"
 
 End If
 
 ActiveCell.Offset(1, 0).Rows("1:1").EntireRow.Select
 Selection.Insert Shift:=xlDown
 ActiveCell.Offset(-1, 0).Range("A1").Select
 Selection.Copy
 ActiveCell.Offset(1, 0).Range("A1").Select
 Selection.PasteSpecial Paste:=xlPasteValues
 ActiveCell.Offset(-1 - m, 0).Rows("1:" & CStr(m + 1) & "").EntireRow.Select
 Selection.Delete Shift:=xlUp
 
 End Sub
 
 以上、宜しくお願いします。
 
 |  |