Posts Tagged ‘Excel’

【Excel】選択したセルを結合するマクロ

後輩「縦に2行ある状態のを上下繋げる方法ってあるの」
オレ「ん。セルの結合じゃねぇの。こんなアイコン(|←a→|)」
後「それって両方に文字入ってたらどうなるの」
オ「下の情報は失われるな」
後「それじゃだめだな。
  InDesignに文字を流し込むんだけど、改行で繋がって一個のセルに入ってれば楽なんだ」
オ「んじゃマクロだな」

という訳でちょっとマクロでも組んでみる。

久し振りに使うVB系の構文に多少イライラしましたが
これで作業が早くになればいいですね。

 Sub uniteCell()
    Dim sheet As Object
    Dim r As range
    Dim start As range
    Dim str As String
    Dim flg As Boolean
    
    ‘マクロ入りファイルを開いとくだけでどのワークブックからでも使えるように
    Set sheet = ActiveWorkbook.ActiveSheet

    ‘選択中のセルを流し込んでいく
    For Each r In sheet.range(Selection.Address)
        If flg = False Then
            Set start = r
            str = r.Value
            flg = True
        Else
            str = str & vbCrLf & r.Value    ‘vbCrLf→改行
            r.Value = “”
        End If
    Next
   
    start.Value = str
End Sub

 

そして思った。
VBAってまだ複合代入(&=)できないのな。
オレが未だに2003使ってるからかな。