Excelマクロで1行が選ばれたかを判定したいのですが
セルであらわすとCells(0,1)と(0があるのかわかりませんが)なるところがセレクトされているかを知りたいです

誰か教えていただけるとうれしいです

A 回答 (2件)

>Excelマクロで1行が選ばれたかを判定したいのですが



この質問の意味を、行全体、いわゆる一番左の行番号をクリックしているかどうかの判定と捉えてみました。
下はサンプルですが、単一セルを選択して実行したり、行番号をクリックして実行してみてください。
答えを返します。複数行全部の選択も行全ての選択とみなしています。
内容は単純なので説明不要でしょう。

行全体を選択したら、そのアドレスが、『行番号1:行番号2』になることを利用しています。
列の場合も同様でしょうが、チョッと面倒ですかね。

ご参考に。


Sub RowChooseCheck()
  Dim rw As Long '選択した最初の行
  Dim rwCot As Long '選択行数
  Dim strRow As String '行全部を選択した場合のアドレス

  rw = Selection.Row
  rwCot = Selection.Rows.Count
  strRow = rw & ":" & (rw + rwCot - 1)

  If Selection.Address(0, 0) = strRow Then
    MsgBox "行全部を選択しています。( " & strRow & " )"
  Else
    MsgBox "行全部を選択していません"
  End If
End Sub
    • good
    • 0

> Excelマクロで1行が選ばれたかを判定したいのですが


「選択されている場所」なのか、「選択されている行の数」か、迷いますが。

「選択されている場所」
Selection.rowで選択されているセルの「行」番号が取得できます。
Selection.columnで選択されているセルの「列」番号が取得できます。

「選択されている行の数」
Selection.rows.countで選択されているセルの「行数」が取得できます。
Selection.columns.countで選択されているセルの「列数」が取得できます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング

おすすめ情報

カテゴリ