2017-11-22 3 views
1

同じシートにセルをコピーすることができました。しかし、それは私の主な目的ではない。強調表示されたセルをSheet2やSheet3のような別のワークシートにコピーできるはずです。それ、どうやったら出来るの?以下はハイライトされたグリーンを別のワークシートにコピー

は、多くの人々を切り株のみ、特定の細胞を、コピーする方法を考え出すに良い仕事 Click here to see image

Sub copyHighlight() 
    Dim ws As Worksheet 
    Dim lr As Long, i As Long, u As Long 

    Set ws = ThisWorkbook.Worksheets("Sheet1") 

    With ws 
     lr = .Cells(Rows.Count, 1).End(xlUp).Row 
     If 2 > lr Then Exit Sub 

     u = 2 
     For i = 2 To lr 
      If .Cells(i, 1).Interior.ColorIndex = 4 Then 
       .Cells(i, 1).Copy .Cells(u, "E") 
       u = u + 1 
      End If 
     Next i 
    End With 

    Set ws = Nothing 
End Sub 

答えて

2

私は同じシートにコピーするためにやっていることです。

小さな変更:以下のようにSheets("Sheet2")を追加します。

Sub copyHighlight() 
    Dim ws As Worksheet 
    Dim r As Long, i As Long, u As Long 

    Set ws = ThisWorkbook.Worksheets("Sheet1") 

    With ws 
     lr = .Cells(Rows.Count, 1).End(xlUp).Row 
     If 2 > lr Then Exit Sub 

     u = 2 
     For i = 2 To lr 
      If .Cells(i, 1).Interior.ColorIndex = 4 Then 
       .Cells(i, 1).Copy Sheets("Sheet2").Cells(u, "E") 
       u = u + 1 
      End If 
     Next i 
    End With 

    Set ws = Nothing 
End Sub 
+1

OMG ..おかげでそんなに –

+0

あなたはもちろん歓迎:)だ、あなたは、このような 'サブにどこか他のオブジェクトWorksheet'設定するなど、あまりにも先のシート他の方法を参照することができ、またはセルの値などに応じてループ内で変更してください – ashleedawg

+0

すばらしい、有益な情報..非常に感謝しています.. *親指 –

1

あなたのコードは非常に良いですが、あなたが望むものを達成するために、あなただけの、いくつかの他のシートへの参照を必要とする、以下に示すように(私はあなたのコードをコピーして、コメントを追加しますそれを動作させるための部品)。それが働いています

Sub copyHighlight() 
Dim ws1 As Worksheet 
Dim ws2 As Worksheet 
Dim r As Long, i As Long, u As Long 

Set ws1 = ThisWorkbook.Worksheets("Sheet1") 
'here you set reference to another worksheet 
Set ws2 = ThisWorkbook.Worksheets("Sheet2") 

With ws1 
    lr = .Cells(Rows.Count, 1).End(xlUp).Row 
    If 2 > lr Then Exit Sub 

    u = 2 
    For i = 2 To lr 
     If .Cells(i, 1).Interior.ColorIndex = 4 Then 
      .Cells(i, 1).Copy ws2.Cells(u, "E") 'NOTE, that here we used reference to another worksheet 
      u = u + 1 
     End If 
    Next i 
End With 

Set ws1 = Nothing 
Set ws2 = Nothing 
End Sub 
関連する問題