【エクセルマクロ】色つきセルを別シート抽出:色ごとにシート分け

ExcelVBA-複数の色付きセルを別シートに抽出-アイキャッチ ExcelVBA

エクセルマクロで、複数の色付きセルを別シート抽出するVBAコードをご紹介します。

このページのマクロコードは、コピペで使えます。
ぜひ、お試しください。

複数の色つきセルを別シート抽出

以下のマクロを実行すると、色のついたセルを色ごとにシート分けします。


Sub 色ごとに別シート転記()

Dim Sh1 As Worksheet
Dim Sht_Name As String
Dim LastRow As Long
Dim i As Long
Dim j As Long
    
    'シートを変数へ格納
    Set Sh1 = Sheets("Sheet1")
    
    Application.ScreenUpdating = False
    
    '3列分ループ
    For j = 1 To 3
    
        '23行分ループ
        For i = 1 To 23
        
            Sht_Name = ""
        
            With Sh1.Cells(i, j)
            
                '黄色だったら
                If .Interior.Color = 65535 Then
                    Sht_Name = "黄色"
                '緑だったら
                ElseIf .Interior.Color = 5287936 Then
                    Sht_Name = "緑"
                '青だったら
                ElseIf .Interior.Color = 15773696 Then
                    Sht_Name = "青"
                End If
                
                '色付きセルだったら、別シート転記
                If Sht_Name <> "" Then
                    LastRow = Sheets(Sht_Name).Cells(Rows.Count, 1).End(xlUp).Row + 1
                    .Copy Sheets(Sht_Name).Cells(LastRow, 1)
                End If
                
            End With
        Next i
    Next j
    
    Application.ScreenUpdating = True
    
    Set Sh1 = Nothing
    
End Sub

 

マクロ実行前

「Sheet1」シートにデータが入力してあり、複数色の色付きセルがあります。

 

マクロ実行後

「Sheet1」シートから色がついているセルのみ抽出し、指定シートに転記します。

色ごとに転記先のシートが異なります。


 
 
この記事がお役に立ちますと幸いです。
 

【エクセルマクロ】別シート転記(抽出)を自動化する:超便利19選
...

 

「プログラマーの本気がExcelを覚醒させる 超絶ExcelVBA」
ExcelVBAでワンランクアップできる書籍
具体的で応用が利く技をたくさん掲載