|
マクロ超初心者です。
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
以上、宜しくお願いします。
|
|