お世話になります。
複数行にわたって選択しているときに実行するとエラーメッセージを出したいとします。現状では、
If Selection.Rows.Count <> 1 Then
subMsgBox "You are selecting two or more rows"
Exit Sub
End If
としていますが、これではドラッグで連続した行を選択している場合には正しくエラーになりますが、Ctrlクリックでポンポンと飛ばし飛ばしクリックしている場合はエラーになりません。
If Selection.Cells.Count <> 1 Then
だと同じ行の複数個所を選んだ場合もエラーになってしまいます。
If Selection.Cells.EntireRow.Count <> 1 Then
If Selection.Cells.EntireRow.Rows.Count <> 1 Then
でもCtrl+クリックの場合にダメです。
どうしたらいいでしょうか。
よろしくお願いします。

A 回答 (2件)

こんなんでどうすか



Sub test()
Dim TempRG As Range
Dim TempRow As Long

TempRow = Selection.Row

'選択しているセルのアドレスをRangeで包んでループ
For Each TempRG In Range(Selection.Address)
If TempRG.Row <> TempRow Then
MsgBox "You are selecting two or more rows"
Exit Sub
End If
Next

End Sub
    • good
    • 0
この回答へのお礼

みなさん、回答ありがとうございます。
マッチポンプですみません、過去の質問の回答を眺めていたらこれでいしのげそうな気がします。

If Intersect(Selection.Cells.EntireRow, 1).Count <> 1 Then
MsgBox "You are selecting two or more rows"
Exit Sub
End If

みなさんのコードも研究します。
ありがとうございます!

お礼日時:2009/04/16 15:45

'MSDNライブラリのApplication.SelectionがObjectで


'つなげられるプロパティが書かれていないってのは問題があると思う。
'いくつかのサイトではAreasというプロパティがあると
'述べていたのでそれを使って自力で実装した

Option Explicit

Sub hoge()
Dim x As Collection
Dim i As Range
Dim j As Object 'Cell型がないようなので
Dim k As Integer
Dim flag As Boolean

Set x = New Collection
For Each i In Selection.Areas '1から始まるらしい
For Each j In i.Cells
If Not CollectionhasItem(x, j.Row) Then
x.Add (j.Row)
End If
Next j
Next

If x.Count > 1 Then
MsgBox ("You selected more than 2 rows")
End If

End Sub

Function CollectionhasItem(ByRef c As Collection, ByVal v As Integer)
Dim i As Integer
'For Each i In c ' For Each i in cってかけないらしい
'GenericsのあるVB.NETならともかく
For i = 1 To c.Count
If c(i) = v Then
CollectionhasItem = True
Exit Function
End If
Next
CollectionhasItem = False



End Function
    • good
    • 0

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

今、見られている記事はコレ!

  • 人気の美猫あなごちゃんが1日店長に!書泉ブックタワーで撮影会を開催

    映画『猫侍』シリーズの玉之丞役などで知られるにゃんこ、あなごちゃん。 くりっとした大きな目と品のある整った顔立ちが人気で、映画だけでなく、ドラマやCMでも大活躍中だ。その、あなごちゃんの写真を自由に撮影...

  • 今年の梅雨の傾向を気象予報士が解説!

    ここのところ東京でも雨の日が多い気がするが、まだ梅雨には入っていないらしい。「教えて!goo」には「梅雨になると嫌なことを教えて!」という質問が投稿されているが、「洗濯ものが乾ききにくい&外に干せない! ...

  • 牛丼まで割り勘の彼と暮らせる!?

    付き合っている彼氏や彼女のお金の使い方を見ていて、相手の金銭感覚が理解できず結婚を躊躇してしまうという話をたまに聞くが、その真っ只中で悩んでいる女性が「教えて!goo」に「牛丼さえ割り勘の彼氏」といった...

  • 【ヨーグルトとハチミツで作る】篠原涼子特製 生姜焼き

    ご飯がすすむおかずの定番、生姜焼き。家庭によって、またお店によって、様々なレシピがある中、女優の篠原涼子さんの作る特製生姜焼きのレシピが非常に興味深い。テレビで披露されたことのあるこの作り方は、なんと...

  • ウエディングドレスはなぜ白なのか?

    挙式予定の花嫁にとって、結婚式の準備は大変なものだ。特に新婦にとってのドレス選びは選択と迷いの連続。そのドレスであるが、白無垢も含め、色は総じて「白」である。だが、なぜウエディングドレスをはじめとする...

おしトピ編集部からのゆる~い質問を出題中

お題をもっとみる

このQ&Aを見た人が検索しているワード


このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ