반응형
A1에서 실제 사용한 셀까지의 범위를 반환합니다.
스프레드시트의 모든 행과 열을 선택하고 싶습니다.매크로가 호출될 때마다 열과 행의 수가 달라지는 경향이 있으므로 매크로는 동적이어야 합니다.또한 빈 행과 열을 설명할 수 있어야 합니다.
이 서브루틴은 프로세스의 일부를 수행합니다.
Sub FindLastCell()
Cells.Find(What:="*", After:=[A1], SearchDirection:=xlPrevious).Select
End Sub
스프레드시트의 맨 마지막 셀을 찾아 선택합니다.스프레드시트에서 가장 마지막 셀을 찾았는데 A1부터 마지막 셀까지를 범위로 선택하려면 어떻게 해야 합니까?
당신은 코드에 이 모드들을 만들어야 합니다.
- 시트가 비어 있을 수 있으므로 절대 사용하지 마십시오.
Select
와 함께Find
찾기가 아무것도 반환하지 않으면 오류가 발생하기 때문입니다.대신 범위 개체를 테스트합니다.Is Not Nothing
Find
행 및 열로 검색할 수 있습니다.마지막 행과 열을 모두 결정해야 실제 마지막 사용 셀을 결정할 수 있습니다.- 실제 마지막 셀 사용을 결정한 후
Range
두 개로 결정된 첫 번째 셀(A1)부터 당신의 셀까지의 범위를 설정합니다.Find
음역대들
아래 코드를 참조해주시기 바랍니다.
만약에Find
값을 얻은 다음 범위를 만듭니다.rng3
A1부터 마지막으로 사용된 셀까지 2개의 셀로 식별됩니다.Find
s.
Sub GetRange()
Dim rng1 As Range
Dim rng2 As Range
Dim rng3 As Range
Set rng1 = Cells.Find("*", [a1], xlFormulas, , xlByRows, xlPrevious)
Set rng2 = Cells.Find("*", [a1], xlFormulas, , xlByColumns, xlPrevious)
If Not rng1 Is Nothing Then
Set rng3 = Range([a1], Cells(rng1.Row, rng2.Column))
MsgBox "Range is " & rng3.Address(0, 0)
'if you need to actual select the range (which is rare in VBA)
Application.Goto rng3
Else
MsgBox "sheet is blank", vbCritical
End If
End Sub
열 A에서 마지막으로 사용한 셀(그 사이 빈 칸 포함)에 A1을 선택하는 것은 다음과 같이 간단합니다.
Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row).Select
전체 시트에 사용된 마지막 셀에 A1을 선택하려면(열 A에 사용되었는지 여부에 관계없이)
Range("A1:A" & ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row).Select
지정된 셀에서 시작하여 마지막 셀까지 범위를 선택하기 위해 코드를 수정하는 방법을 찾았습니다.8번 라인에서 a1을 시작할 셀로 바꿉니다.저 같은 경우는 j28을 선택했습니다.
Set rng3 = Range([j28], Cells(rng1.Row, rng2.Column))
전체 코드:
Sub GetRange()
Dim rng1 As Range
Dim rng2 As Range
Dim rng3 As Range
Set rng1 = Cells.Find("*", [a1], , , xlByRows, xlPrevious)
Set rng2 = Cells.Find("*", [a1], , , xlByColumns, xlPrevious)
If Not rng1 Is Nothing Then
Set rng3 = Range([j28], Cells(rng1.Row, rng2.Column))
MsgBox "Range is " & rng3.Address(0, 0)
'if you need to actual select the range (which is rare in VBA)
Application.Goto rng3
Else
MsgBox "sheet is blank", vbCritical
End If
End Sub
@brettdj는 다음의 사용을 지적했습니다.ActiveSheet.UsedRange
현재 사용 중인 범위를 삭제합니다.아래의 간단한 코드를 사용하겠습니다.
ActiveSheet.UsedRange
ActiveSheet.UsedRange.Select
언급URL : https://stackoverflow.com/questions/8283797/return-a-range-from-a1-to-the-true-last-used-cell
반응형
'programing' 카테고리의 다른 글
NSS 문자열을 설정 길이로 자르는 방법은 무엇입니까? (0) | 2023.10.23 |
---|---|
Wordpress 사이트에 대한 도메인 마스킹이 있는 htaccess 리디렉션이 작동하지 않습니다. (0) | 2023.10.23 |
MySQL Views - 사용 시기 및 사용하지 않는 시기 (0) | 2023.10.23 |
jquery In()이 .html()과 함께 작동하지 않는 이유는 무엇입니까? (0) | 2023.10.23 |
Glassfish Admin Console은 java.lang을 던집니다.JDBC 풀을 생성할 때 잘못된 상태 예외가 발생 (0) | 2023.10.23 |