Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1001 / 13644 ツリー ←次へ | 前へ→

【76947】一行おきに選択 たかひろ 15/4/18(土) 21:09 質問[未読]
【76948】Re:一行おきに選択 β 15/4/18(土) 21:24 発言[未読]
【76949】Re:一行おきに選択 β 15/4/18(土) 21:29 発言[未読]
【76950】Re:一行おきに選択 たかひろ 15/4/19(日) 13:11 お礼[未読]

【76947】一行おきに選択
質問  たかひろ  - 15/4/18(土) 21:09 -

引用なし
パスワード
   お世話になっております。

自分で都度選択する、”任意のセル範囲(例えば、A2:B10など)内において、1行置きにセルを選択する”方法を教えて頂きたいです。

”任意のセル範囲において、1行おきに”網掛けしたり、色を塗ったり、することはできるようになりました。

しかしながら、時に応じて、一行おきに網掛け、色塗り、文字の大きさを変えたりするなど、多岐に作業する必要ケースが多くなってきました。

従いまして、色塗り等まで、おこなってしまうのではなく、「”自分で都度選択する任意の範囲内において、1行置きにセルを選択する”ところまでにとどめる」ことを実現したいです。

ちなみに、1行おきに網掛けする場合は、下記のように記述致しました。

宜しくお願いいたします。

********
Sub 網掛け()


 Dim i As Integer, S As Integer, E As Integer
 S = Selection(1).Column
 E = Selection(Selection.Count).Column
 
 For i = Selection(1).Row To Selection(Selection.Count).Row Step 2
 
  Range(Cells(i, S), Cells(i, E)).Interior.Pattern = xlGray16
 
 Next i
End Sub

****************

【76948】Re:一行おきに選択
発言  β  - 15/4/18(土) 21:24 -

引用なし
パスワード
   ▼たかひろ さん:

要件を誤解しているかもしれませんが・・

Sub Test()
  Dim i As Long
  Dim r As Range
  
  If TypeName(Selection) <> "Range" Then
    MsgBox "セル領域を選択してから実行してください"
    Exit Sub
  End If
  
  If Selection.Areas.Count > 1 Then
    MsgBox "複数のセル領域は選択できません"
    Exit Sub
  End If
  
  If Selection.Rows.Count < 3 Then
    MsgBox "3行未満のセル選択では意味がありません"
    Exit Sub
  End If
  
  For i = 1 To Selection.Rows.Count
    If i Mod 2 > 0 Then
      If r Is Nothing Then
        Set r = Selection.Rows(i)
      Else
        Set r = Union(r, Selection.Rows(i))
      End If
    End If
  Next
  
  r.Select
        
End Sub

【76949】Re:一行おきに選択
発言  β  - 15/4/18(土) 21:29 -

引用なし
パスワード
   ▼たかひろ さん:

追伸です。
何かをするためにSelectする必要はありません。
↑のコードでいえば、最後の r という変数に目的の領域が入っています。
ですから、r.Interior.Color 等、直接参照可能ですので。
念のため。

【76950】Re:一行おきに選択
お礼  たかひろ  - 15/4/19(日) 13:11 -

引用なし
パスワード
   β様

たかひろです。
ありがとうございました。

まさに、私が実現したかったことです。
とっても助かりました。

意味のない範囲を選んだ時の対応など、こちらも勉強になりました。

年を取っていて、なかなか、理解力も乏しく自分自身もどかしいのですが、
もっと、理解して自分のものにしていけるようにします。

本当に、ありがとうございました。

1001 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free