Home » Python » xlwingsの使い方 » xlwingsでセルを選択する-Range.select()メソッド

xlwingsでセルを選択する-Range.select()メソッド

動作検証バージョン:Windows 11 Home(64-bit)+ 64bit Excel(バージョン2302 ビルド16130.20218 キック実行)+ Python 3.10.6(64-bit) + xlwings 0.29.1

「xlwings セル選択」
といった検索で、このサイト『インストラクターのネタ帳』へ時折アクセスがあります。

Excelを操作するPythonの外部ライブラリxlwingsを使って、ワークシート上のセルを選択するにはどのようなコードを書けばいいのか、調べていた方による検索しょう。

[スポンサードリンク]

xlwingsでセルを選択するサンプル

以下のコードを実行すると、新規ブックが作成され、アクティブシートのB2セルが選択されます。

>>> import xlwings as xw
>>> bk = xw.Book()
>>> sht = bk.sheets.active
>>> sht.range('B2').select()

Rangeオブジェクトに用意されているselect()メソッドを使えば、セルを選択できます。

どのセルを選択するのかは、「.select()」の前に書かれているコードで取得できるRangeオブジェクト次第です。

さまざまなRange取得方法を使ったセルの選択

xlwingsでは、実にさまざまな書き方でRangeオブジェクトを取得できるので、いくつかをご紹介しておきます。

行や列の選択

行全体や列全体を選択するなら、以下のようなコードです。

>>> sht.range('1:1').select()

で1行目を選択でき、

>>> sht.range('2:3').select()

ならば2:3行目を選択できます。
また、

>>> sht.range('A:C').select()

でA:C列を、選択できます。

複数セルの選択

複数セルを選択する場合は、Sheet.range()メソッドの第1引数に、セル番地を複数指定します。
たとえば、

>>> sht.range('A1, C3, E5').select()

を実行した場合には、A1・C3・E5セルを選択できます。

セル範囲の選択

以下のコードで、

>>> sht.range('A1:E5').select()

A1:E5セルを選択できます。

Sheet.range()メソッドには引数を2つ指定でき、

>>> sht.range('A1', 'E5').select()

でも、A1:E5セルが選択されます。

Sheet.cellsプロパティを使う場合

Sheet.cellsプロパティを使えば、数値を指定してセルを取得できます。

>>> sht.cells(3, 3).select()

で、C3セルを取得できます。

Sheet.range()メソッドの2つの引数には、Sheet.cellsプロパティ経由で取得したRangeオブジェクトも指定できます。

>>> sht.range(sht.cells(1, 1), sht.cells(3, 3)).select()

を実行すると、A1:C3セルが選択できます。

Sheet.range()の引数にタプルも指定できる

ここまでのサンプルは、Excel VBA的な書き方といえます。

xlwingsならではのコードとして、Sheet.range()メソッドの引数にタプルを指定する例をご紹介します。

先ほどの、

>>> sht.range(sht.cells(1, 1), sht.cells(3, 3)).select()

と同じ結果となる、Sheet.range()の引数にタプルを指定する例です。

>>> sht.range((1, 1), (3, 3)).select()

でも、A1:C3セルを選択できます。

最終更新日時:2023-04-17 13:19

[スポンサードリンク]

Home » Python » xlwingsの使い方 » xlwingsでセルを選択する-Range.select()メソッド

「xlwingsの使い方」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.