programing

워크시트의 "마지막" 셀 강제 새로 고침

abcjava 2023. 9. 8. 21:05
반응형

워크시트의 "마지막" 셀 강제 새로 고침

Excel에서 +를 End누르면 워크시트의 오른쪽 하단 셀로 이동합니다.

마지막 행 또는 열을 삭제하고 워크북을 저장하면 이 마지막 셀과 스크롤 막대가 업데이트됩니다.

워크북을 저장하지 않고도 업데이트를 수행할 수 있는 한 줄짜리 VBA 명령어가 있었던 것으로 기억하는데, 명령어가 무엇인지 기억이 나지 않습니다. 무슨 생각이 있으신가요?

빈 행을 삭제하는 데 지속적으로 작동하는 무언가를 찾았습니다.사용 중인 "사용 범위" 엑셀이 너무 커서 오른쪽 스크롤 바를 사용하면 빈 행이 추가되고, 맨 아래로 스크롤하면 실제 데이터의 마지막 행을 초과하는 경우를 알 수 있습니다.그러면 SQL로 가져올 때 테이블에 빈 레코드가 추가됩니다.

제거 방법:

  1. 데이터의 마지막 행 아래에 있는 첫 번째 행 전체를 선택합니다.+ +를 눌러 빈 행을 모두 선택합니다.
  2. 홈 탭에서 지우기를 선택한 다음 편집 메뉴(흰색-회색 지우개 사진)에서 모두 지우기를 선택합니다.
  3. 마우스 오른쪽 단추를 클릭하고 삭제를 선택합니다.
  4. A1호실로 먼저 가셔서 저장하세요.
  5. +를 누른 다음 +를 누릅니다(빈 행 위에 있는 사용 범위의 올바른 마지막 셀로 이동합니다).
  6. 저장을 다시 클릭합니다.

답은 다음과 같습니다.

Sub x()
    ActiveSheet.UsedRange
End Sub

실행하면 마지막 셀이 재설정됩니다.

위의 어떤 작품도 이것을 시도하지 않을 때.

사용하지 않는 행을 선택하고 행 높이를 변경합니다.

이제 행을 삭제하고 저장합니다.

빙고!

제가 한 일은 이렇습니다.위의 것들 중 아무 것도 작동하지 않았기 때문에 (이번에는, 그것은, 이 코드가 갑자기 아름답게 작동되었기 때문에 슬픈 것입니다.xlCellTypeLastCell완전히 실패했습니다.)마지막 셀을 잡고 싶은 지역의 첫번째 셀을 하드코드로...예를 들어 데이터 테이블을 12~40개의 열과 60~90개의 행으로 구성된 시트에 붙여 넣었습니다.그러나 그것은 페이스트였기 때문에 항상 A79호실에서 시작되었습니다.

Worksheets("Data_Import").Activate
Range("A79").CurrentRegion.Select
A = Selection.Rows.Count - 1
B = Selection.Columns.Count - 1
Selection.Offset(A, B).Resize(1, 1).Select
Set DataEnd = Selection

시원한 특수 셀을 사용하지 않는 것이 아쉽긴 하지만, 아, 안 되면! 그러면 못 쓸 것 같아요. :C

p.s. - 당신은 또한 당신이 할 수 있는

ActiveSheet.Cells(Rows.Count, 1).End(xlUp).CurrentRegion.Select

이 솔루션은 Excel 2013에서도 사용할 수 있지만 대부분의 최신 버전의 Excel에서도 사용할 수 있습니다.

  • 마지막 셀을 변경할 워크시트를 선택하고 사용하지 않은 행과 열을 삭제합니다.
  • [파일] - [옵션] - [리본 사용자 정의]를 누릅니다.
  • 기본 탭에서 "개발자" 옆에 있는 상자를 선택한 다음 확인을 클릭합니다.
  • 지금 나타나는 개발자 리본에서 Visual Basic을 클릭합니다.
  • 왼쪽 위 모서리의 Microsoft Excel Objects(마이크로소프트 엑셀 개체) 아래 워크시트의 마지막 셀을 강제로 새로 고치려는 시트 이름을 클릭합니다.
  • 메뉴에서 실행 - 새로 고침을 클릭한 다음 Visual Basic 창을 닫습니다.

Ctrl + End를 누르면 마지막 셀이 새로 고쳐집니다.

http://dmcritchie.mvps.org/excel/lastcell.htm#MakeLastCell, 에서 비슷한 질문에서 링크를 찾았습니다.

잊혀진 여객선과는 거리가 멀지만, 나를 위해 그 문제를 해결했습니다.

또는,

  1. (참고 자료를 보존하려면) 수동 계산을 켭니다.

  2. 새 시트를 만듭니다.

  3. Copy cells and Name of old sheet.

인지 는 는 인지 ActiveSheet.UsedRangeExcel 2016 64비트에서 혼자서는 Excel이 마지막으로 사용한 셀을 재설정하도록 강제할 수 없었습니다.

저는 이 방법이 효과가 있어요.도움이 되길 바랍니다.

Rows(25:415).Clear   'deletes contents and formatting
ActiveSheet.UsedRange   'resets last used cell

행 높이를 0으로 변경하고 저장하는 솔루션이 효과가 있었습니다.다시 열고 행 높이를 12로 설정하면 End Home이 워크시트의 오른쪽 맨 아래에 더 이상 없습니다.
감사합니다. 2년 넘게 이 일을 하고 있습니다.

짐 챔피네 엘크하트,

다들 왜 이렇게 복잡하게 만드는지 모르겠어요.Ctrl + PgDn만 누르면 됩니다.

언급URL : https://stackoverflow.com/questions/2107047/force-refresh-of-last-cell-of-the-worksheet

반응형