행삭제 실행시 데이터가 있는 마지막 행부터 삭제가 되는데 10행 까지만 삭제되어야 하는데 전부다 삭제가 되버리네요. ㅠ.ㅠ
10행까지만 삭제가 되게 하고 싶은데 어떻게 수정을 해야 할까요?
Sub 행삭제()
Set sh1 = Worksheets("Sheet1")
r = sh1.Cells(100, 1).End(xlUp).Row
Rows(r).Delete
End SubSub 행삭제()
Set sh1 = Worksheets("Sheet1")
r = sh1.Cells(100, 1).End(xlUp).Row
Rows(r).Delete
End Sub
"참조가 잘못되었가나 조건이 없다고 창이 뜨네요.
sh1.Range(sh1.Cells(11, 1), .sh1.Cells(r, 1)).EntireRow.Delete 에서 두번째에 .sh1. 앞에 . 이 원인인거 같습니다.
그리고 제가 원하는 코드는 1행부터 20행까지 데이터가 있을 경우에 행삭제를 실행할때 마다 맨아래 데이터 20행 부터 한행식 차례차례 삭제가 되다가 10행에 정지해야 합니다. 10행부터는 삭제가 되지 않게
Sub 행삭제() Set sh1 = Worksheets("Sheet9") r = sh1.Cells(1000, 1).End(xlUp).Row If r > 10 Then sh1.Rows("11:" & r).EntireRow.Delete End If End Sub마지막 줄의 위치를 점검해야 합니다.
Sub 행삭제() Set sh1 = Worksheets("Sheet9") r = sh1.Cells(1000, 1).End(xlUp).Row If r > 10 Then sh1.Rows(r).Delete '===고쳐진 부분 End If End Sub선택된 한 행만 삭제되게...
간단하게 if문을 사용해서 작성하시면 될거 같습니다.
Sub 행삭제() Set sh1 = Worksheets("Sheet1") r = sh1.Cells(100, 1).End(xlUp).Row If r <> 10 Then Rows(r).Delete End Sub