複数セルを選択し、セル結合を行うコードです。
以下のコードでは、A1セルからC4セルまでを選択してセル結合しています。
' Excelアプリケーション Dim xlApp As Application = Nothing ' ワークブック Dim xlBooks As Workbooks = Nothing Dim xlBook As Workbook = Nothing ' シート Dim xlSheets As Sheets = Nothing Dim xlSheet As Worksheet = Nothing ' セル Dim xlCells As Range = Nothing ' シートオブジェクトセルの受け皿 Dim xlRngFrm As Range = Nothing ' 範囲指定セル(From)用 Dim xlRngTo As Range = Nothing ' 範囲指定セル(To)用 Dim xlTarget As Range = Nothing ' 対象セル(複数セル)指定用 ' Excelを開く xlApp = New Application xlApp.DisplayAlerts = False xlBooks = xlApp.Workbooks xlBook = xlBooks.Open("対象Excelまでのパス") xlSheets = xlBook.Worksheets xlSheet = DirectCast(xlSheets(1), Worksheet) ' 1シート目を操作対象に設定 ' A1セル(From)とC4セル(To)のオブジェクトを作成 xlCells = xlSheet.Cells xlRngFrm = DirectCast(xlCells(1, 1), Range) xlRngTo = DirectCast(xlCells(3, 4), Range) xlTarget = xlSheet.Range(xlRngFrm, xlRngTo) ' A1セルからC4セルまでをまとめて指定 ' 複数セルのマージ xlTarget.Merge() ' Excelを表示して3秒間表示 xlApp.Visible = True System.Threading.Thread.Sleep(3000) ' ■■■以下、COMオブジェクトの解放■■■ ' レンジ解放 System.Runtime.InteropServices.Marshal.ReleaseComObject(xlTarget) System.Runtime.InteropServices.Marshal.ReleaseComObject(xlRngTo) System.Runtime.InteropServices.Marshal.ReleaseComObject(xlRngFrm) System.Runtime.InteropServices.Marshal.ReleaseComObject(xlCells) ' Sheetのクローズ処理 System.Runtime.InteropServices.Marshal.ReleaseComObject(xlSheet) System.Runtime.InteropServices.Marshal.ReleaseComObject(xlSheets) ' Excelのクローズ処理 xlBook.Close() System.Runtime.InteropServices.Marshal.ReleaseComObject(xlBook) System.Runtime.InteropServices.Marshal.ReleaseComObject(xlBooks) ' アラートを戻す xlApp.DisplayAlerts = True ' ExcelApplicationを閉じる xlApp.Quit() System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp) '
※ COMオブジェクトの解放をまとめたい方は、こちらでメソッドの紹介をしています。