• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel VBAでn行毎に行の選択)

Excel VBAで行の選択方法についての質問

このQ&Aのポイント
  • ExcelのVBAを使用して、行をn行ごとに選択したい場合の方法について質問です。具体的には、5000行近くあるシートの行を選択して入力規則を設定したいと思っていますが、Rangeメソッドを使用して一つ一つ行を指定するのは手間がかかります。効率的な方法を教えていただきたいです。
  • ExcelのVBAで行を選択する方法について質問です。特定の条件に基づいてn行ごとに行を選択したい場合、どのようなコードを使用すればよいでしょうか?シートには5000行近くのデータがあり、一つ一つの行を指定するのは手間ですので、効率的な方法を教えていただきたいです。
  • ExcelのVBAを使用して、n行ごとに行を選択する方法を教えてください。5000行近くあるシートの行を選択して入力規則を設定したいと思っていますが、一つ一つの行を指定するのは手間がかかりますので、効率的な方法があれば教えていただきたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • f272
  • ベストアンサー率46% (8529/18254)
回答No.1

色々なやり方があるでしょうが一例です。 Sub Macro1() Dim i As Long Dim r As Range Set r = Cells(10, 1) For i = 20 To 5000 Step 10 Set r = Union(r, Cells(i, 1)) Next i r.EntireRow.Select End Sub

noriccc
質問者

お礼

まさに考えてた通りの動作で感激です。 一つ一つの構文がどう動くか早速色々調べてみたいと思います ありがとうございました

その他の回答 (2)

  • soixante
  • ベストアンサー率32% (401/1245)
回答No.3

#2です。 すみません。さきほどの例示コード、 入力規則の内容もですが、行の範囲も適当にアレンジしてください。 とりあえず仮で、 Range(Cells(r,1),Cells(r,10)) としておりますので。 (A~J列)

  • soixante
  • ベストアンサー率32% (401/1245)
回答No.2

一気に選択してやろうとしているのでしょうか。 じゃなくて、一行づつ入力規則を入れて、それを繰り返せばいいです。 Sub AAA() Dim r As Integer Dim Rng As Range For r = 10 To 5000 Step 10    Set Rng = Range(Cells(r, 1), Cells(r, 10))    With Rng.Validation    .Add Type:=xlValidateWholeNumber, AlertStyle:=xlValidAlertStop, _   Operator:=xlBetween, Formula1:="10", Formula2:="100"   .IgnoreBlank = True   .InCellDropdown = True   .InputTitle = ""   .ErrorTitle = ""   .InputMessage = ""   .ErrorMessage = ""   .IMEMode = xlIMEModeNoControl   .ShowInput = True   .ShowError = True  End With Next r Set Rng=Nothing End Sub ※入力規則の内容によって、適当にアレンジください。 マクロの自動記録で見てもいいですけどね。 http://www.moug.net/tech/exvba/0050121.htm http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_validation.html ↑上から3つめの項目。

noriccc
質問者

お礼

丁寧にありがとうございます 1行ずつ入力規則を入れることは 思いつきませんでした・・・。 思いついても構文が全くわかりませんでしたが^^; VBAの奥深さには驚かされました 今回提示して下さった構文も一つ一つ理解行きたいと思います。 ありがとうございました!

関連するQ&A

専門家に質問してみよう