Excel (VBA)

Excel VBAに関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(指定なし : Excel 2016)
選択したセル範囲の隣の行を色付けする方法
投稿日時: 21/06/04 11:50:56
投稿者: しほ

お世話になります。
選択したセル範囲の隣の行を色付けするVBAについて知りたいです。
 
A2:D16のセル範囲の表があるとします。
その表の中でB3:C16のセル範囲を選択した時に、
隣のD行(D3:D16)だけを色付けするにはどのようにしたらよいでしょうか。
 
よろしくお願いいたします。

回答
投稿日時: 21/06/04 13:09:36
投稿者: WinArrow
投稿者のウェブサイトに移動

>隣のD行(D3:D16)
隣の列ですよね?
 
ところで、それまで、色がついていたセルはどうするのですか?

投稿日時: 21/06/04 13:56:53
投稿者: しほ

WinArrow さんの引用:
>隣のD行(D3:D16)
隣の列ですよね?
 
ところで、それまで、色がついていたセルはどうするのですか?

 
ご返信ありがとうございます。
 
失礼いたしました。
隣の列の間違いです。
 
「それまで色がついていたセル」というのが分かり兼ねるのですが
どの部分のセルのことでしょうか。

回答
投稿日時: 21/06/04 14:05:10
投稿者: sk

引用:
選択したセル範囲の隣の行を色付けするVBA

引用:
A2:D16のセル範囲の表があるとします。
その表の中でB3:C16のセル範囲を選択した時に、
隣のD行(D3:D16)だけを色付けする

(その表のあるワークシートのシートモジュール)
-------------------------------------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     
    Const ScopeAddress As String = "A2:D16"
     
    Dim rngScopeRange As Range
    Dim rngLastColumn As Range
    Dim rngNextColumn As Range
     
    Set rngLastColumn = Target.Columns(Target.Columns.Count)
     
    If rngLastColumn.Column = Me.Columns.Count Then
        Set rngLastColumn = Nothing
        Exit Sub
    End If
     
    Application.ScreenUpdating = False
     
    Set rngScopeRange = Me.Range(ScopeAddress)
    rngScopeRange.Interior.ColorIndex = xlColorIndexNone
     
    Set rngNextColumn = Intersect(rngLastColumn.Offset(0, 1), rngScopeRange)
     
    If Not rngNextColumn Is Nothing Then
        rngNextColumn.Interior.Color = RGB(255, 128, 128)
    End If
     
    Application.ScreenUpdating = True
     
    Set rngNextColumn = Nothing
    Set rngScopeRange = Nothing
    Set rngLastColumn = Nothing
     
End Sub
-------------------------------------------------------------
 
以上のようなコードを実行なさりたい、ということでしょうか。

トピックに返信