Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Pro : Excel 2016)
多数の複数セルを単独選択
投稿日時: 20/09/18 07:43:34
投稿者: ゴマゴマ

お世話になります。
たくさんのセルを単独で選択したいのですが、下記の方法だと(おそらく)Rangeに設定できるのは255文字までという制限に引っかかり一発で出来ません。Uionも使いましたが連続選択されます。単独でたくさんのセルを選択する方法を教えてください。

Dim i as long,ary as Variant
For i = 1 To cell(Rows.count,"D").Row   
 ary = ary & "," & Cells(i, "D").Address
 Next i
 ary = Mid(ary, 2)
 Range(ary).Select
End sub

 
以上

回答
投稿日時: 20/09/18 09:20:15
投稿者: sk

引用:
たくさんのセルを単独で選択

引用:
Dim i as long,ary as Variant
For i = 1 To cell(Rows.count,"D").Row
 ary = ary & "," & Cells(i, "D").Address
 Next i

(実際に記述されたコードだとは思えませんが)
「 D 列の 1 行目のセルから最終行のセルまでの
範囲を選択する」のとは何か異なる処理を
なさろうとしているのでしょうか。
 
とりあえず具体例を挙げられることをお奨めします。

投稿日時: 20/09/18 10:02:20
投稿者: ゴマゴマ

sk様
 
早速にありがとうございます。
申し訳ありません、2行目For〜に「.End(xlup)」が抜けておりました。
 

Dim i as long,ary as Variant
For i = 1 To cell(Rows.count,"D").End(xlup).Row   
 ary = ary & "," & Cells(i, "D").Address
 Next i
 ary = Mid(ary, 2)
 Range(ary).Select
End sub

 
具体例としては下記D列の受注番号を$J$123,$J$124,$J$125と単独で選択したいのです。数が少ないければいいのですが多くなるとエラーになるので他の方法が無いかご教示いただければと思います。
  D E F G
1 受注番号 寸法  個数 重量
2 J123   100x100 1   100
3 J124   100x150 1   150
4 J125   100x200 1    200
[/code]
 
以上、宜しくお願い致します。

回答
投稿日時: 20/09/18 11:39:47
投稿者: WinArrow
投稿者のウェブサイトに移動

>Range(ary).Select
   
D列の最終行が100とすると
Range("D1:D100").Select
と、同じことです。
 説明のような「単独で」にはなりません。
  
指定のセル範囲の単独セルを選択するのでしたら、
セルアドレスを文字列で結合する必要はありません。
 指定のセル範囲の中のセル1つを選択したい
 いうしようでしたら
  

Dim 単独セル As Range
     For Each 単独セル In Range(Range("D1"), Cells(Rows.Count, "D").End(xlUp))
         単独セル.Select
         'それからどうするの?
    Next
   
   
でもね・・・・でもね ・・・・・・
  
    
そのセルを選択して、次に何をやりたいのでしょうか?
やりたいことによっては、選択しなくても(殆ど場合、選択しなくても)
できます。
  

投稿日時: 20/09/18 12:43:43
投稿者: ゴマゴマ

WinArrow 様
 
ご回答ありがとうございます。
やりたいのは、例えば表の中のセルを削除する際、間違って表の外のセルも同時に選択していたらアラームを出したい、表の中か外かを個別にで判断するのですが、ガードとして連続選択($J$123:$J$125)はしない、という決まり事を作りました。よってセルの数が多くても単独選択$J$123,$J$124,$J$125したい、というのが理由です。
 
 
以上です。

回答
投稿日時: 20/09/18 13:19:58
投稿者: WinArrow
投稿者のウェブサイトに移動

ゴマゴマ さんの引用:
WinArrow 様
 
ご回答ありがとうございます。
やりたいのは、例えば表の中のセルを削除する際、間違って表の外のセルも同時に選択していたらアラームを出したい、表の中か外かを個別にで判断するのですが、ガードとして連続選択($J$123:$J$125)はしない、という決まり事を作りました。よってセルの数が多くても単独選択$J$123,$J$124,$J$125したい、というのが理由です。
 
 
以上です。

 
説明がよくわかりません。
 
やりたいことが具体的になった時点で
再度質問しましょう。

投稿日時: 20/09/18 13:30:53
投稿者: ゴマゴマ

WinArrow 様
 
ありがとうございました。
 
以上