【发布时间】:2013-03-22 22:57:03
【问题描述】:
确定 Excel 工作表的行索引 InsertRow 后,我想使用 VB.net 在其后插入 16 行。如果有任何改变,我正在构建一个 COM 加载项。在 VBA 中,我将通过以下方式执行此操作:
...
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").Select() ContractSheet.Range("47:47").EntireRow.Insert() 和 ContractSheet.Rows(InsertRow).Select() 对于 n = 1 到 16 ContractSheet.Range(InsertRow & ":" & InsertRow).rows.insert(xlDown) 下一个 和 ContractSheet.Rows(InsertRow).Select() 对于 n = 1 到 16 ContractSheet.Selection.Insert() 下一个
我可以继续,但我认为这不会有帮助(因为我一直在一个问题上尝试了一个多小时,然后才在这里提问)。根据情况,我会收到以下错误之一:
HResult: 0x800A03EC;或
HResult 0x80020005;或
无法从工作表中筛选对象。
任何帮助将不胜感激。
【问题讨论】:
标签: vb.net excel-2010 excel-addins