爲Excel工作表的InsertRow確定行索引後,我想在使用VB.net之後插入16行。如果改變了任何東西,我正在構建一個COM加載項。在VBA中,我會這樣做:使用Vb.Net Com插件將多行插入到Excel工作表中
...
Dim InsertRow as String
...
Dim ContractForm As Worksheet
Set ContractForm = Sheets("Lab Contracts")
ContractForm.Select
ContractForm.Rows(InsertRow & ":" & InsertRow).Select
Range(Selection, Selection.Offset(8, 0)).EntireRow.Insert
我似乎無法找到一種方法在VB.net中執行此操作。我試過了: [對於(InsertRow「:」InsertRow)的所有實例我也試過(「47:47」)和(InsertRow),以防萬一不是正確的語法(反之亦然)。
...
ContractSheet.Rows(InsertRow ":" InsertRow).Select()
ContractSheet.Rows.Insert()
...
和 ContractSheet.Rows( 「47:47」),選擇() ContractSheet.Range( 「47:47」)。EntireRow.Insert() 和 ContractSheet.Rows(的InsertRow)。選擇() 對於n = 1至16 ContractSheet.Range(&的InsertRow 「:」 &的InsertRow).rows.insert(xlDown) 接着 和 ContractSheet.Rows(的InsertRow)。選擇() 對於n = 1至16 ContractSheet.Selection.Insert() Next
我可以繼續,但我不認爲這會有所幫助(因爲我在這裏問一個問題之前一直在嘗試超過一個小時)。取決於它如何去,我得到以下錯誤之一:
HResult:0x800A03EC;或
HResult 0x80020005;或
無法從工作表中篩選對象。
任何幫助將不勝感激。
我剛剛注意到你說了16行。我的代碼有八個。 – 2013-03-23 03:35:43
非常感謝,非常感謝!我谷歌周圍,並閱讀MSDN上的行,並以某種方式從來沒有看到調整。我不知道我錯過了那一個。我從我自己的嘗試和錯誤中想出來避免選擇,我只是不知道在這種情況下是可能的。 – 2013-03-23 04:34:29