VBA에는 포인터와 같은 것이 있습니까?VBA의 포인터
나는 엑셀 매크로를 만들고, 칼럼 수를 추적하는 간단한 변수를 원한다. wst.UsedRange.Columns.Count는 필요할 때마다 많은 공간을 차지하므로 last_col과 같은 간단한 이름으로 바꾸고 싶습니다.
VBA에는 포인터와 같은 것이 있습니까?VBA의 포인터
나는 엑셀 매크로를 만들고, 칼럼 수를 추적하는 간단한 변수를 원한다. wst.UsedRange.Columns.Count는 필요할 때마다 많은 공간을 차지하므로 last_col과 같은 간단한 이름으로 바꾸고 싶습니다.
이 는하지만 현재 상황에서 유용 (또는 특별한 경우를 넘어 다른 많은) 방식으로, 왜 안
public function ccount() as long
ccount = wst.UsedRange.Columns.Count
end function
또는 wst.UsedRange.Columns
에 전역 변수 참조를 설정하고 필요에 따라 var.count
을 읽을 수 있습니다.
저는 대부분의 경우 UsedRange의 팬이 아닙니다. 다른 매크로가 계속해서 사용할 함수를 만들려면이 구문을 사용하여 실제 값이있는 마지막 열을 찾습니다.
Private Function LastCOL(ws As Worksheet) As Long
With ws
LastCOL = .Cells.Find("*", .Cells(.Rows.Count, .Columns.Count), _
SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
End With
End Function
Private Function LastROW(ws As Worksheet) As Long
With ws
LastROW = .Cells.Find("*", .Cells(.Rows.Count, .Columns.Count), _
SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Row
End With
End Function
그런 다음 다른 매크로는 단순히 매크로 시트 참조를 공급하여 호출 할 수 있습니다
Sub RowTest()
On Error Resume Next 'in case the sheet is empty
LR = LastROW(ActiveSheet)
Debug.Print LR
End Sub
그러면 완전히 빈 시트가 어떻게 작동합니까? :) – osknows
이것은 기본적인 데모였으며 선호하는 오류 처리 방법을 사용할 수 있습니다. 이것은 간단합니다. 오류를 무시하고 ZERO를 되 찾을 수 있습니다. 그 답은 빈 시트에 맞습니까? 위에 추가되었습니다. –
당신은 VBA에서 변수를 만들 수 있습니다. – DOK
"wst.UsedRange.Columns.Count는 많은 공간을 차지합니다.": 당신은 무엇을 의미합니까? – assylias
@assylias 아마도 많은 문자가 있습니다. Mark가 그것을 입력 할 때 화면에 많은 공간을 차지합니다. – Graphth