이 줄은 잘못 사전에
감사합니다 (이미 아래 행에 데이터가) :
lngWriteRow = ws.Cells(Rows.Count, 12) _
.End(xlUp).Offset(1, 0).Row
당신은 변경하지 않는 열 (12),를 참조하기 때문에 - 따라서 행은 동일하게 유지됩니다.
사용이 대신
는
lngWriteRow = ws.Cells(Rows.Count, 2) _
.End(xlUp).Offset(1, 0).Row
편집 :
lngWriteRow = ws.Cells(Rows.Count, 2) _
.End(xlUp).Offset(1, 0).Row
if lngWriteRow < 13 then lngWriteRow = 13
: 당신은 데이터 입력 @ 행 (13)을 시작 오프셋 초기을 원하는 경우
는 이것을 사용
매번 사용하기 때문에 Offset(12,0)
을 사용할 수 없습니다!
편집 그냥 여기 빈 시트 작동, 맑은하기 위해, 워크 시트 매크로 타격 F5 여러 번 같은 코드를 붙여 넣을 때. 그래서, 설명이 없으면, 이것이 무엇을 잘못했는지, 나는 해결 된 문제를 고려한다.
Private Sub Test()
Dim lngWriteRow As Long
Dim ws As Worksheet
Set ws = Worksheets("Sheet1")
lngWriteRow = ws.Cells(Rows.Count, 2) _
.End(xlUp).Offset(1, 0).Row
If lngWriteRow < 13 Then lngWriteRow = 13
ws.Range("B" & lngWriteRow) = "test"
ws.Range("C" & lngWriteRow) = "test"
ws.Range("D" & lngWriteRow) = "test"
ws.Range("E" & lngWriteRow) = "test"
ws.Range("F" & lngWriteRow) = "test"
ws.Range("G" & lngWriteRow) = "test"
End Sub
일부 메일 링 후
편집, 여기에이 수수께끼의 해결책이 : 그것은 입력되어야 그 아래 채워진 세포가 있다는 것을, 언급되지 않았다.
그래서 COL-B 것은 기본적으로 제안 된 수정이 일을 더
title-row
row13
row..
row..
row63
space
other stuff
같았다 -하지만 문제였다 시트 전체에 열 B의 마지막 채워진 셀 보였다. 당신이 컬럼에 데이터를 추가되기 때문에,가 대신 (Rows.Count,2)
의 (Rows.Count,1)
을 사용할 수 없습니다
lngWriteRow = ws.Cells(ws.Range("B12:B63")Rows.Count, 2) _
.End(xlUp).Offset(1, 0).Row
그리고 당신에게 방법에 대한 몇 가지 explanaition을주는 : 여기
은의 해결책 BG, 2-7. 길 때문에 2-7을 사용해야하며, 마지막 행을 찾고 있습니다. 1을 사용하는 경우 새 데이터를 추가하려고 할 때 변경되지 않는 A 열의 마지막 값을 찾고 있습니다. Offset(12,0)
을 사용할 수 없습니다. 데이터를 삽입 할 때마다 오프셋이 만들어지기 때문에 12 행 간격으로 끝날 것입니다.
마지막으로 Rows.Count
은 65536 정도이므로 추가 할 데이터 아래에 데이터가 있으므로 사용할 수 없습니다. End(xlUp)
은 너무 멀리 내려다 보며 데이터가있는 B 열의 마지막 셀에서 멈 춥니 다.하지만 B14-B65536에 데이터가 없으면 B13이 아닙니다.
희망 사항은 여기에서 역학을 이해하는 데 도움이됩니다.
다른 질문을 삭제하고 여기에서 수정해야합니다. 내가 당신에게 준 해결책에 대한 당신의 문제는 무엇입니까? 당신이 처음에 요구 한 것을했습니다. 그래서, 무엇이 바뀌 었습니까?! – Jook
@Jook,'NextRow = Cells (Rows.Count, "A"). End (xlUp) .Row + 1'과 같은 것을 구현하면 항상 다음 행으로 가야합니다. – CustomX
@ t.thielemans 나는 그의 문제가 다음 행에 그다지 많은 것이 아니라 13 행부터 시작하여 다음 행으로 이동하여 추가 데이터를 얻는다 고 생각한다. – Jook