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 の場合)。 Range(InsertRow & ":" & InsertRow).rows.insert(xlDown) Next および ContractSheet.Rows(InsertRow).Select() For n = 1 to 16 ContractSheet.Selection.Insert() Next
続けることもできますが、それが役立つとは思いません (ここで質問する前に、常に 1 つの問題について 1 時間以上試していたため)。状況に応じて、次のいずれかのエラーが発生します。
HResult: 0x800A03EC; また
HResult 0x80020005; また
シートからオブジェクトをふるいにかけることはできません。
どんな助けでも大歓迎です。