활성 시트.사용 범위.기둥.카운트 - 8 그게 무슨 뜻입니까?
ActiveSheet의 기능.사용 범위.기둥.카운트 - vba에서 평균 8개?
vba는 사용된 범위를 어떻게 알고 있습니까?
여기에 정확한 정의가 있습니다.UsedRange
(MSDN 참조):
모든 워크시트 개체에는 사용 중인 워크시트의 영역을 나타내는 범위 개체를 반환하는 UsedRange 속성이 있습니다.UsedRange 속성은 워크시트에서 가장 왼쪽 위와 오른쪽 아래의 비어 있지 않은 셀이 나타내는 영역을 나타내며 그 사이에 모든 셀이 포함됩니다.
그래서 기본적으로 그 선이 하는 일은 다음과 같습니다.
.UsedRange
-> 내용물이 들어있는 최외곽 셀 주위에 상자를 "그립니다..Columns
-> 해당 셀의 전체 열을 선택합니다..Count
-> 열 개수에 해당하는 정수를 반환합니다(이 선택 항목에서).- 8
-> 이전 정수에서 8을 풉니다.
VBA가 인덱스 값이 가장 낮고 가장 높은 비어 있지 않은 셀을 찾아 UseRange를 계산한다고 가정합니다.
범위에 있는 줄의 수가 3개보다 작아서 반환된 줄의 수가 음수이기 때문에 오류가 발생할 가능성이 높습니다.
버나드 소시에가 이미 답을 드렸습니다.제 게시물은 답변이 아니라 사용하면 안 되는 이유에 대한 설명입니다.UsedRange
.
UsedRange
여기에 나와 있는 것처럼 매우 신뢰할 수 없습니다.
데이터가 있는 마지막 열을 찾으려면 다음을 사용합니다..Find
그리고 그것에서 빼냅니다.
With Sheets("Sheet1")
If Application.WorksheetFunction.CountA(.Cells) <> 0 Then
lastCol = .Cells.Find(What:="*", _
After:=.Range("A1"), _
Lookat:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Column
Else
lastCol = 1
End If
End With
If lastCol > 8 Then
'Debug.Print ActiveSheet.UsedRange.Columns.Count - 8
'The above becomes
Debug.Print lastCol - 8
End If
당신이 이사를 가고 싶어하는 것 같네요.시도해 보기:
ActiveSheet.UsedRange.select
결과적으로...
선택 항목을 3행 위로 이동하려면 이 방법을 사용해 보십시오.
ActiveSheet.UsedRange.offset(-3).select
이런 짓을...
노력해보면 다음과 같습니다.
Sub Macro3()
a = ActiveSheet.UsedRange.Columns.Count - 3
End Sub
시계를 차고a
당신은 그것이 변화를 만들어 낸다는 것을 알게 될 것입니다.
UseRange는 비어 있지 않은 셀뿐만 아니라 값이 없는 형식화된 셀을 나타냅니다.그래서 당신은 매우 경계해야 합니다.
언급URL : https://stackoverflow.com/questions/21172108/activesheet-usedrange-columns-count-8-what-does-it-mean
'programing' 카테고리의 다른 글
make (Linux)와 nmake (Windows)에 동일한 make 파일 사용 (0) | 2023.09.18 |
---|---|
연락처 양식 7 - php 실행 불가 (0) | 2023.09.18 |
Android 소프트키보드가 보일 때 전체 화면 모드에서 레이아웃을 조정하는 방법 (0) | 2023.09.18 |
PowerShell을 사용하여 파일의 줄을 바꾸는 방법은 무엇입니까? (0) | 2023.09.18 |
PHP Mailer vs.스위프트 메일러? (0) | 2023.09.18 |