Sub Sample() Dim i As Integer Dim ws1 As Worksheet Dim ws2 As Worksheet Set ws1 = Worksheets("Sheet1") Set ws2 = Worksheets("Sheet2") Dim DatePart As Integer Dim ColRead As String Dim rowsData As Long rowsData = ws1.Range("A2").End(xlDown).Row - 1 For i = 2 To rowsData ColRead = ws1.Cells(i, "E") If ColRead = "AA" Or "BB" Then ws1.(Cells(i, "A"),Cells(i, "B"),Cells(i, "C"), Cells(i + 1, "D")).Copy ws2.Cells(i, 2).PasteSpecial Paste:=xlPasteValues Else: ColRead = "CC" ws1.Rows(i).Copy ws2.Rows(i).PasteSpecial Paste:=xlPasteValues End If Next End Sub
<エラー箇所>
と作成しましたが
If ColRead = "AA" Or "BB" Then
ws1.(Cells(i, "A"),Cells(i, "B"),Cells(i, "C"), Cells(i + 1, "D")).Copy
ws2.Cells(i, 2).PasteSpecial Paste:=xlPasteValues
の記載が間違っているようなのですが自分ではよくわかりませんでした。
<やりたいこと>
①Sheet1にデータがあり、E列に条件として、今のところ順番は「AA」「BB」「CC」の3つの順番が入っています。E列にAA,BBが入力されている場合、C列のAA列を・D列はBB列をコピーしsheet2へ貼り付けて一覧にしたいです。
②さらにE列にCCが入力されている場合、AからD列をコピーし貼り付け
③上から順に繰り返す
④毎回列の数は変わります
どのようにしたらうまく行くのかご教示頂けないでしょうか、よろしくお願いします
回答2件
あなたの回答
tips
プレビュー