
在看一本書的時(shí)候沒搞明白例子上寫的一句話,如上。
經(jīng)調(diào)試才搞明白。分享給大家。
NextRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
這句話的意思是 取活動(dòng)單元表的第一列最后一個(gè)有值的行的下一行行號(hào)。
Rows.Count是指當(dāng)前活動(dòng)工作表的行數(shù),為數(shù)字 1048576,很熟悉的一個(gè)數(shù)字,為Excel工作表的最大行數(shù)
Cells(Rows.Count, 1),則是定位到第一列的最后一行cell,即單元格“A1048576”
主要是End(xlUp)比較難理解。
Range.End屬性是返回一個(gè) Range 對(duì)象,該對(duì)象代表包含源 區(qū)域的區(qū)域尾端的單元格。
End(xlUp)等同于End mode下+UP鍵,或Ctrl+Up,
若活動(dòng)單元格為空,其上一個(gè)單元格也為空,將會(huì)向上尋找該列第一次出現(xiàn)的非空單元格;
若活動(dòng)單元格非空, 其上一個(gè)單元格也非空, 將會(huì)選中活動(dòng)單元格所在列的最后一個(gè)非空單元格;
其上一個(gè)單元格為空,將繼續(xù)向上尋找該列第一次出現(xiàn)的非空單元格,直到第一個(gè)單元格為止,如A1。
另外三個(gè) XlDirection常量為 xlDown, x lToRight, xlToLeft 功能分別為 End+DOWN, END+ RIGHT , END+ LEFT.
這樣 Cells(Rows.Count, 1).End(xlUp)就是沿著單元格“ A 1048576 ”向上尋找第一列第一次出現(xiàn)的非空單元格。
連起來 Cells(Rows.Count, 1).End(xlUp).Row,就是取第一列第一次出現(xiàn)的非空單元格的行號(hào)
ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1,自然就是取該非空單元格的下面的空單元格,以便進(jìn)行輸入等操作。
比如下面事例,將把數(shù)據(jù)插入到工作表中的系一個(gè)空白行,這里A7為下一個(gè)空白行。
Sub KK()
Range("C1") = Range("a65536").End(xlUp) '從單元格A65536向上查找第一個(gè)有內(nèi)容的單元格的內(nèi)容
Range("C2") = Range("a65536").End(xlUp) 'Row '從單元格A65536向上查找第一個(gè)有內(nèi)容的單元格的行號(hào)
End Sub
您發(fā)布的評(píng)論即表示同意遵守以下條款:
一、不得利用本站危害國家安全、泄露國家秘密,不得侵犯國家、社會(huì)、集體和公民的合法權(quán)益;
二、不得發(fā)布國家法律、法規(guī)明令禁止的內(nèi)容;互相尊重,對(duì)自己在本站的言論和行為負(fù)責(zé);
三、本站對(duì)您所發(fā)布內(nèi)容擁有處置權(quán)。