私は比較的VBAを初めて使っていて、ゆっくりと学習しています。文字列を検索して特定の列の別のワークシートにコピーして貼り付けます
私は私の最初のワークシート上の列C
に単語PASS
を探し、その後もPASS
呼ばれる二次ワークシートに行全体をコピーする非常に基本的なマクロを持っています。
列A:E
からその行のデータのみをコピーして貼り付けようとしています。以下は私の現在のコードです。私は.range("A:E")
を追加しようとしましたが、何もしません。
この特定の行の列A-E
の情報のみをコピーする方法については、ご了承ください。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim C As Range
If Intersect(Target, Me.Range("C:C")) Is Nothing Then Exit Sub
For Each C In Intersect(Target, Me.Range("C:C")).Cells
If C.Text = "PASS" Then
C.EntireRow.Copy Worksheets("PASS").Cells(Rows.Count, "C").End(xlUp).Offset(1).EntireRow
End If
Next
End Sub
あなたは範囲を参照するときに、行番号と同様に列を指定する必要があります。 'range(" A:E ")'は列を指定するだけです。 'range(" a54:e54 ")のようなものでなければなりません。 –
@Scott Marcus - 効率的ではありませんが、そのような列全体を参照できます。 – SJR