2017-04-25 25 views
0

我一直在使用Google搜索一段時間,但沒有成功 - 我有一個大約850行的表格,並在第8至13列中需要找到最後的使用的行,然後將數據添加到下面的其餘空行(如果有的話)。我發現很多使用範圍的例子,但他們都只是找到表中的最後一行,因此對我來說不起作用。我是VBA的初學者,我嘗試過使用ListColumns對象,但無濟於事,因此沒有當前的代碼發佈。任何人都可以提供一些見解嗎?查找表格中最後一次使用的行,然後將數據添加到下面的其餘行

+0

請您理解,Stack Overflow是不是免費的代碼編寫服務。在這裏看看有關表格的好資源:[VBA ListObject Excel表指南](https://www.thespreadsheetguru.com/blog/2014/6/20/the-vba-guide-to-listobject-excel -tables)。試着解決你的問題,如果你想出了一個更具體的問題,發佈你已經擁有的代碼以及發生了什麼問題。還請閱讀[問]看看一個好問題應該如何。 –

+0

謝謝Peh。我確實意識到這一點,並且我對這個問題缺乏明確性表示歉意。但是我已經閱讀了該資源以及Ron de Bruin在表格和其他網站上的頁面,並且我無法找到任何答案來查找表格列中最後一次使用的行。也許我只是想念它。感謝如何提問鏈接,我將在未來遵循它的指導! – MrClip

回答

-1

這將做到這一點:

Sub Macro1() 
    Dim i, iColumn, Ending_Column As Long ' Declare you long data types 

    Ending_Column = 13 ' Assing the right-most column 

    i = Range("H" & Range("H" & Rows.Count).End(xlUp).Row) + 1 ' Find the next row column H (this lets you enter the data on the same line) 

    For iColumn = 8 To Ending_Column ' Asign left-most column and loop to the right-most one 
     Cells(i, iColumn).Value = "Your input" ' The "Your input" needs to be modified 
    Next ' next column 

End Sub 
+0

謝謝傑里米 - 不幸的是我在輸入行上得到了1004錯誤,在做了一些測試之後,我不相信代碼找到下一行也能正常工作。當我使用表對象時,代碼將查找表中的最後一行,而不是列中最後一行數據。例如,表格在行857結束,但在列8中,包含數據的最後一行是行850.如果我使用類似於您的一些測試代碼: – MrClip

+0

'Sub TEST() Dim Lrow As Long With Sheets(「Reorder指導「) Lrow = Cells(Rows.Count,」I「)。End(xlUp).Row + 1 End With MsgBox Lrow End Sub然後我得到858的結果,而不是850. – MrClip

+0

@Jeremy請不要假定工作表總是使用完全限定的範圍,如[VBA最佳實踐 - 永不假設工作表](http://stackoverflow.com/documentation/excel-vba/1107/vba-best-practices/9218/never-assume -the-工作表)。你還需要聲明所有3個變量,只要'Dim i As Long,iColumn As Long,Ending_Column As Long',因爲在Dim i,iColumn,Ending_Column As Long中只有最後一個變量是'long',前兩個變量是'variant '。 –

相關問題