2016-12-08 89 views
1

任何answere將非常感激。 我的問題是如下:在工作表上查找上次使用的單元格並將行復制到另一個工作表中?

這是確定我的Excel工作表的最後一個非空單元格/行的正確方法?

xl.Worksheet sh; 
     int lastRow; 
     int fullRow; 

     sh = xlApp.Workbooks.get_Item("myExcelFile").Worksheets.get_Item("MySheet"); 
     fullRow = sh.Rows.Count; 
     lastRow = sh.Cells[fullRow, 1].End(xl.XlDirection.xlUp).Row; 

如果這確實是正確的,我該如何將其行復制到另一個工作表中。更specifict,列A 的第一空單元格我知道,我必須使用的命令是這樣的:

lastRow.EntireRow.Copy(FirstEmptyCell); 

作爲一個整型我不能把它複製到我的其他表。 有什麼建議嗎?

回答

0
lastRow = sh.Cells[fullRow, 1].End(xl.XlDirection.xlUp).Row; 

這裏,lastRowint所以你不能把它作爲一個對象在你的下一行:

lastRow.EntireRow.Copy(FirstEmptyCell); // int doesn't have an EntireRow property 

什麼你可以做的是兩個合併成一條線:

Excel.Range myLastRow; 
myLastRow = sh.Cells[sh.Rows.Count, 1].End(xl.xlDirection.Up).EntireRow; 

now myLastRow是您想要複製的整個行。

myLastRow.Copy(destination); 
+0

哇,謝謝你的快速反應和幫助我。 我很高興地說,我的行已被複制,現在已準備好移動到我的目的地。 它是全功能後,我會發布的代碼,它是什麼樣子使這裏誰是有這個同樣的事情麻煩任何人可能有一個例子來上班了。 再次感謝。你的回答非常感謝和接受! –

+0

沒有問題 - 如果你的代碼功能齊全 - 我可能會建議將它發佈到[代碼評論](http://codereview.stackexchange.com/),其中人們可以提供建議和改進建議:) –

+0

我會肯定會這樣做,因爲任何建議和任何幫助將非常感激和有用。 我現在正在開發的項目基本上是從VBA代碼轉換到C#代碼,因爲我想使它成爲一個程序,所以它不使用任何「外部元素」 它或多或少是一個宏,我有在這幾個動態元素,並與動態發現我的最後一排,並設置/複製它,我一直在努力:) 你無法想象我是多麼高興看到您的回覆! –

相關問題