20201007 1547 

 

Ref

[1] "dmcritchie.mvps.org/excel/lastcell.htm" , more specific and expert-like

[2] "exceljet.net/formula/get-value-of-last-non-empty-cell"

[3] "www.excelcampus.com/vba/find-last-row-column-cell/"

 

01 Using VBA [3]

01.01 Range.SpecialCells()

sub test()
lastcell=Sheets(1).UsedRange.SpecialCells(xlLastCell).Address
Sheets(1).Range("a4",lastcell).ClearContents
ens sub

* SpecialCells method is the same as press "Ctrl+End" in an Excel sheet.

* Range("a1").SpecialCells(xlCellTypeLastCell)

 

01.02 Range.End()

- It's useful when you're looking the last cell in ONLY ONE colum or row.

zRow=Cells(Rows.Count,1).End(xlUp).Row  'Find the last non-blank cell in column A
zCol=Cells(1,Columns.Count).End(xlToLeft).Column  'Find the last non-blank cell in row 1
Sub test()
  MsgBox Cells(Rows.Count, 1).End(xlUp).Row
  MsgBox Cells(1, Columns.Count).End(xlToLeft).Column
End Sub

★ meaning of "Rows.Count"

Run this code : MagBox Rows.Count. The result is below.

 

01.03 Range.Find()

★ The Range.Find method is the same as Excel's Find Window

 

01.04 Range columns count; 직관적인 방법

Sub test()
    zrow = Sheets(1).UsedRange.Rows.Count
    zcol = Sheets(1).UsedRange.Columns.Count
    Range("b2", Cells(zrow, zcol)).Select
End Sub

 

02 Using Excel Formula

02.01 Get value of last non-empty cell [2]

=LOOKUP(2,1/(A:A<>""),A:A)

syntex : LOOKUP(lookup_vlaue, lookup_vector, result_vector)

★ it's better than vlookup

 

(explanation) 

① A:A<> "" returns {true,false, true, ...}

② 1/true → 1, 1/false → #DIV/0!

③  the lookup_value is 2, 

★ lookup함수는 일치하는 값 중에 맨 나중에 값(의 위치)를 돌려준다.

일치하는 값이 없으면 찾는 값보다 "다음의 작은 값"을 찾는다.

④ 따라서 배열의 두 값(1, #DIV/0!) 중에서 2보다 다음으로 작은 값(=1)을 찾고, 그 중 맨 마지막 위치를 알려준다.

 

02.02 Dealing with errors

 

02.03 Last numeric value

 

02.04 Position of the last value

=LOOKUP(2,1/(A:A<>"",ROW(A:A))

 

'[PA] 업무자동화 > [XL]Excel & VBA' 카테고리의 다른 글

XL Pivot Table Calculated Fields  (0) 2020.11.06
XL sendkeys, shell, running app using VBA  (0) 2020.10.22
XL Date Time Formatting  (0) 2020.10.07
XL Group Pivot Table  (0) 2020.10.07
XL Copy and Paste a Range  (0) 2020.10.07
Posted by Weneedu
,


출처: https://privatedevelopnote.tistory.com/81 [개인노트]