Attribute VB_Name = "Module1" Sub Macro1() Attribute Macro1.VB_ProcData.VB_Invoke_Func = " \n14" ' ' Macro1 Macro nr = 10 Sheets("Sheet1").Select Cells.Select Selection.Clear 'a1:K11 Range(Cells(1, 1).Address & ":" & Cells(1 + nr, 1 + nr).Address).Value = Sheets("Sheet2").Range(Cells(1, 1).Address & ":" & Cells(1 + nr, 1 + nr).Address).Value 'c2:c11=b1 Range(Cells(2, 3).Address & ":" & Cells(1 + nr, 3).Address).Value = Cells(1, 2).Value Cells(1, 2).Value = "" Range(Cells(1, 4).Address & ":" & Cells(100, 4 + nr).Address).Value = "" For i = 1 To nr 'a1+10:K11+10 Range(Cells(i + (nr * i), 1).Address & ":" & Cells((1 + nr) * (i + 1), 1 + nr).Address).Value = Sheets("Sheet2").Range(Cells(1, 1).Address & ":" & Cells(1 + nr, 1 + nr).Address).Value '(a+1)2+10:(a+1)+12+10 Range(Cells((1 + nr) * i, 2).Address & ":" & Cells((1 + nr) * (i + 1), 1 + i).Address).Delete Shift:=xlToLeft '(a+1)2+10:k12+10=b2+10 Range(Cells((1 + nr) * i, 3).Address & ":" & Cells((1 + nr) * (i + 1), 3).Address).Value = Cells((1 + nr) * i, 2).Value Cells((1 + nr) * i, 2).Value = "" Range(Cells(1, 4).Address & ":" & Cells(100, 4 + nr).Address).Value = "" Next i If 1 = 1 Then Columns("A:C").Select Selection.AutoFilter ActiveSheet.Range("$A$1:$C$100").AutoFilter Field:=3, Criteria1:="=" Rows("2:100").Delete Shift:=xlUp ActiveSheet.Range("$A$1:$C$100").AutoFilter Field:=3 ActiveSheet.Range("$A$1:$C$100").AutoFilter Field:=2, Criteria1:="-" Rows("2:100").Select Selection.Delete Shift:=xlUp ActiveSheet.Range("$A$1:$C$6").AutoFilter Field:=2 ActiveSheet.Range("$A$1:$C$100").AutoFilter Field:=2, Criteria1:="=" Rows("2:100").Select Selection.Delete Shift:=xlUp ActiveSheet.Range("$A$1:$C$6").AutoFilter Field:=2 End If End Sub