「セル結合 python xlwings」
「python セル 結合 xlwings」
といった検索キーワードで時折アクセスがあります。
Pythonの外部ライブラリxlwingsを使って、セルを結合するにはどのようなコードを書けばいいのか調べていた方による検索でしょう。
xlwingsでセルを結合するサンプル
以下のスクリプトを実行すると、新規にExcelブックが作成され、アクティブシートのA1:C2セルが結合され1つのセルになります。
bk = xw.Book()
sht = bk.sheets.active
Excel VBAでRange.Mergeメソッドを使えばセルを結合できるのと同様、xlwingsでもRangeオブジェクトのmerge()メソッドでセルを結合できます。
Range.merge()の引数acrossにTrueを指定すると横方向に結合
Excel VBAのRange.Mergeメソッドに引数Acrossを指定できるのと同様、xlwingsのRange.merge()メソッドでも引数acrossにTrueを指定することで、横方向にセルを結合できます。
先ほどのスクリプトにつづいて、
sht.range('A4:C5').merge(across=True)
を実行すると、
A4:C4セル
A5:C5セル
が、それぞれ結合されます。
データがあってもRange.merge()でメッセージは表示されない
Excel VBAの場合、データの存在するセルを結合しようとすると、
「セルを結合すると、左上の値のみが保持され、他のセルの値は破棄されます。」
メッセージが表示されます。
それに対しxlwingsの場合は、セルにデータがあったとしてもメッセージは表示されません。
main.pyモジュールのRangeクラスで、以下のように定義されているためです。
def merge(self, across=False):
with self.sheet.book.app.properties(display_alerts=False):
self.impl.merge(across)
- xlwingsのRange.merge_cellsでセルの結合/セル結合の解除はできません
- 『Excel VBAユーザーのためのPythonプログラミング入門』発売に
- 拙著で紹介しているSheets/Sheetが持つプロパティとメソッドの一覧
- 拙著で紹介しているRangeが持つプロパティとメソッドの一覧
最終更新日時:2023-10-13 12:17
Home » Python » xlwingsの使い方 » xlwingsでセルを結合する-Range.merge()メソッド