アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルマクロで偶数行のセルを選択したいのですがどうすれば良いのでしょうか

A6_A8_A10・・・・・A300まで  と
B6_B8_B10・・・・・B300まで  を同事に選択状態にしたいのですが

どうすれば効率よく選択出来るか分かりません
For....Next で出来そうだと思うのですが

構文が全く分かりません

どうか宜しくお願いいたします

質問者からの補足コメント

  • うれしい

    ゴールデンウィーク中にありがとうございます。
    そうか、”Step 2” という手がありましたね  忘れていました。(^_^;)

    もし宜しければ

    If myRng Is Nothing Then
    Set myRng = Cells(i, "A").Resize(, 2)
    Else
    Set myRng = Union(myRng, Cells(i, "A").Resize(, 2))

    この構文の意味を教えて頂けないでしょうか
    VBA初心者で申し訳ありません

    No.1の回答に寄せられた補足コメントです。 補足日時:2018/05/04 21:22

A 回答 (2件)

No.1です。



補足コメントにあるコードの説明ですが・・・
最初の行(今回の場合は i が 6 の時)の「myRng」は「Nothing」の状態なので
「myRng」に「A列 i 行の右となり1列(A・B列)の範囲」を「myRng」に格納します。
それ以降が
>Else
以降になりますので、
「myRng」の格納範囲をUnionメソッドで次々に付け加えているだけです。

※ Unionメソッドに関しては当方がココで説明するより
ネットで検索してもらった方が判りやすい説明になっていると思います。m(_ _)m
    • good
    • 1
この回答へのお礼

マクロ記録を使い手作業でセルを選択していたのですが
構文がこんなに短くなるんですね、、、、凄いです。

このマクロを一行づつ勉強します

有り難うございました

お礼日時:2018/05/04 23:51

こんばんは!



色々やり方はありますが、一例です。

Sub Sample1()
Dim i As Long, myRng As Range
For i = 6 To 300 Step 2
If myRng Is Nothing Then
Set myRng = Cells(i, "A").Resize(, 2)
Else
Set myRng = Union(myRng, Cells(i, "A").Resize(, 2))
End If
Next i
myRng.Select
End Sub

こんな感じでも大丈夫だと思います。m(_ _)m
この回答への補足あり
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A