미안하지만 나는 Michael의 답변에 동의하지 않습니다.
End (xlDown)은 Ctrl
+ Down
의 VBA에 해당합니다.
는
- 와 빈 컬럼
Ctrl
+ Down
사용해
- 1 행, 2 행 1 값이지만 1 행에서 다른
- 값 2
- 값 열의 , 3, 7, 8, 9, 13, 14 및 15
이렇게하면 모든 다른 행에 대한 아이디어를 얻을 수 있습니다. Ctrl
+ Down
로 연결됩니다.
Set newRange = ws.Range("A1").End(xlDown).End(xlDown).End(xlUp).Offset(1, 0)
반드시 마지막으로 사용 된 행을 고려하지 않습니다에 1을 더한
나는 Set newRange = ws.Range("A1").End(xlDown).Offset(1, 0)
빈 열이 일 놀란다. Range("A1").End(xlDown)
는 시트의 맨 아래 줄로 이동합니다. .Offset(1, 0)
은 시트에서 내려 주려고합니다.
고려 : 열 A가 비어
Dim RowLast As Long
RowLast = ws.Cells(Rows.Count, "A").End(xlUp).Row
- 경우 RowLast은 A1이 값을 가지면 1
- 으로 설정되지만, 다른 셀의 값이되지 않으며 RowLast 1로 설정한다.
- A 열의 셀 수가 많은 경우 RowLast는 값이있는 맨 아래 행으로 설정됩니다.
- 마지막 행에 값이 있으면 무시됩니다.
- 마지막 두 행에 값이 있으면 RowLast는 Rows.Count - 1로 설정됩니다.
나는 당신이 borrom 행에 값이 없다고 가정합니다. 행 1에 빈 열이 비어있는 경우 상관하지 않으면 다음을 수행하십시오.
RowLast = ws.Cells(Rows.Count, "A").End(xlUp).Row
Set NewRange = ws.Cells(RowLast + 1, "A")
은 시트 ws의 현재 내용에 관계없이 원하는 결과를 제공해야합니다.
당신이 1 행에 관심 않으면
는 당신에게 값의 다른 조합의 효과에 대한 이해를 줄 것이다
Ctrl
+
Down
와 +
Up
Ctrl
실험, 공백된다.
+1 잘 설명해주세요. 그것이 그렇듯이, 나는 "ws.Range ("A1 ") End (xlDown)"를 사용하여 범위를 설정하는 것에 결코 찬성하지 않았습니다. 이유는, 중간에 빈 셀이 있으면 정확한 범위를주지 않습니다. :) –
토니, 도와 줘서 고마워. 그것은 나를 위해 일했습니다. 첫 번째 부분에 대해서는 왜 그런 식으로했는지, 나는 항목 18 http://support.microsoft.com/kb/291308을 따르고있었습니다. 이것을하는 쉬운 방법을보기 위하여 놀랬다. 감사합니다. – bsr
@SiddharthRout .. 행이 비어있는 경우 마지막 셀이 나빠집니다. 찾는 것이 훨씬 낫지 만 관심 대상 데이터 범위가 비어 있지 않은지 확인하기위한 테스트가 필요합니다. 필요에 따라 [찾기가 쉽습니다] (http://stackoverflow.com/q/4872512/641067) – brettdj