[[20180306143721]] 『他のセルも』(紀子) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『他のセルも』(紀子)

1行目を無視して、尚且つ activesheetで実行し、
C列とD列を対象にすることはできますか

Sub ()

    Dim v As Variant
    Dim i As Long, j As Long, k As Long

    With Worksheets("aaa").Columns("C")
        .Interior.ColorIndex = xlColorIndexNone
        For i = 1 To .Cells(Rows.Count).End(xlUp).Offset(1).Row
            If .Cells(i).Value <> v Then
                If k Mod 2 Then
                    .Cells(j).Resize(i - j).Interior.ColorIndex = 6
                End If
                v = .Cells(i).Value
                j = i
                k = k + 1
            End If
        Next i
    End With
End Sub

< 使用 Excel:Excel2016、使用 OS:Windows7 >


>1行目を無視して、尚且つ activesheetで実行し、C列とD列を対象にすることはできますか
ぱっと見ですけど、できますよ。

・1行目を無視して
 どこか、1からスタートするようになってる部分がありますのでそこを修正すればよいとおもいます。

・activesheetで実行
 どこか、「aaa」シートを対象にするようになってる部分がありますのでそこを修正すればよいとおもいます。

・C列とD列を対象に
 現状、どこかでC列を対象にするようになっているので、当該をD列を対象にするように変更したものを、追加すればよいとおもいます。

(もこな2) 2018/03/06(火) 15:10


修正コードを教えて頂きたいです
(紀子) 2018/03/06(火) 16:44

そうですか。

質問であれば解る範囲で回答いたしますが、作業依頼であればお受けする気持ちはありませんので私は降ります。
(もこな2) 2018/03/06(火) 16:53


>C列とD列を対象
が連結なら

Sub 他のセルも連結()

    Dim v As String, v2 As String
    Dim i As Long, j As Long, k As Long

    With Columns("C")
        .Resize(, 2).Interior.ColorIndex = xlColorIndexNone
        For i = 2 To .Cells(Rows.Count).End(xlUp).Offset(1).Row
            v2 = .Cells(i).Value & "☆" & .Cells(i).Offset(, 1).Value
            If v2 <> v Then
                If k Mod 2 Then
                    .Cells(j).Resize(i - j, 2).Interior.ColorIndex = 6
                End If
                v = v2
                j = i
                k = k + 1
            End If
        Next i
    End With
End Sub

単独なら
Sub 他のセルも単独()

    Dim v As String, v2 As String
    Dim i As Long, j As Long, k As Long
    Dim L As Long

    With Columns("C:D")
        .Interior.ColorIndex = xlColorIndexNone
        For L = 1 To .Columns.Count
            k = 0
            j = 0
            v = ""
            For i = 2 To .Columns(L).Cells(Rows.Count).End(xlUp).Offset(1).Row
                v2 = .Columns(L).Cells(i).Value
                If v2 <> v Then
                    If k Mod 2 Then
                        .Columns(L).Cells(j).Resize(i - j).Interior.ColorIndex = 6
                    End If
                    v = v2
                    j = i
                    k = k + 1
                End If
            Next i
        Next L
    End With
End Sub

(kazuo) 2018/03/06(火) 19:20


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.