私はマスターシート( "Perk")を所有しており、列Aの "y"をすべて "登録"シートにコピーし、すべて "y"列Bの「住宅」シートに入れます。現在のコードでは、正しい情報が登録シートにコピーされています。ハウジングシートは、最初のレコードを引っ張っているだけです。1つのワークシートの行を別の列にコピーする
Sub extractdata()
Dim x As Long, lastrow
lastrow = Sheets("Perk").Range("A" & Rows.Count).End(xlUp).Row
Sheets("Housing").Range("A2:AW500").ClearContents
Sheets("Registration").Range("A2:AW500").ClearContents
For x = 2 To lastrow
If Worksheets("Perk").Cells(x, 1) Like "y*" Or Worksheets("Perk").Cells(x, 1) Like "Y*" Then
Worksheets("Perk").Cells(x, "A").EntireRow.Copy Destination:=Sheets("Registration").Range("A" & Rows.Count).End(xlUp).Offset(1)
End If
If Worksheets("Perk").Cells(x, 2) Like "y*" Or Worksheets("Perk").Cells(x, 2) Like "Y*" Then
Worksheets("Perk").Cells(x, "B").EntireRow.Copy Destination:=Sheets("Housing").Range("B" & Rows.Count).End(xlUp).Offset(1, -1)
End If
Next x
End Sub
を動作するはずです列Bにはyがあります。 Aがyを持っているかどうかにかかわらず住宅に行くことを望むなら、それをElseIFではなく2つの異なるifに分割することにします。 –
ありがとう!私は更新を行った。列Aと列Bにyがある場合、行だけが住宅にコピーされます。列Bにyを含む複数の行がある場合、最後の行のみが住宅にコピーされます。登録は正しく行われます。 – Faith
あなたの質問は、問題のコードが何をしているかを正確に反映していますか? (「現在のコードでは、正しい情報が登録用紙にコピーされています。住宅用シートは最初のレコードを引っ張っているだけです」)、あなたの最後のコメント列Aと列Bにyがある場合、または列Bにyを含む複数の行がある場合は、最後の行のみが住宅にコピーされています。」)は、それを矛盾させるようです。 – YowE3K