- ベストアンサー
VB2010でExcelの行をコピーして挿入する方法
- VB2010を使用してExcelの行をコピーして同じシートに挿入する方法がわかりません。サンプルコードを教えてください。
- Excelのある1行をVB2010でコピーして同じシートに挿入したいです。どのようにすればいいでしょうか。
- Excel 2003を使用して、VB2010で特定の行をコピーして同じシートに挿入する方法がわかりません。お手数ですが教えていただけますか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
エクセル開放とエクセルを起動のSetの部分は、 .Netでは外してOKです。 解決できて良かったです(^o^) 答えが同じでも、いろいろなやり方がありますので、 これからいろいろチャレンジしてみて下さい。
その他の回答 (1)
- angel_Z
- ベストアンサー率66% (12/18)
こんにちは。 VB2008でテスト済みですが。 Imports Microsoft.Office.Interop 以下、使用するプロシージャ内に入れて下さい。 Dim xlsApp As New Excel.Application Dim xlsBook As Excel.Workbook Dim xlsSheet As Excel.Worksheet 'Excel起動 xlsApp = CreateObject("Excel.Application") xlsBook = xlsApp.Workbooks.Open("C:\test1.xls") xlsSheet = xlsBook.Sheets(1) With xlsBook.Worksheets(1) .Range("35:36").Copy Destination:=.Range("37:38") '35、36行目をコピーして、37、38行目に貼り付け end With '保存時のダイアログボックスを非表示 (同じ名前がある場合の上書きしますか?のメッセージを出さない様に) xlsApp.DisplayAlerts = False 'エクセル保存 (同じ名前がある場合は上書きされる) xlsBook.SaveAs("C:\test1.xls") 'エクセル閉じる xlsBook.Close xlsApp.Quit 'エクセル開放 Set xlsSheet = Nothing Set xlsBook = Nothing Set xlsApp = Nothing 'エクセルファイルを再読込み 'エクセルを起動 Set xlsApp = CreateObject("Excel.Application") Set xlsBook = xlsApp.Workbooks.Open("C:\test1.xls") Set xlsSheet = xlsBook.Sheets(1) 'エクセル表示 xlsBook.Worksheets(1).Activate xlsApp.Visible = True '保存時のダイアログボックスを表示に戻す xlsApp.DisplayAlerts = True 'エクセル開放 xlsSheet = Nothing xlsBook = Nothing xlsApp = Nothing
お礼
angel_Zさんへ 自力で解決しようとすれば、どれだけの時間を要したかを考えると、お礼の言葉が見つかりません。 「感謝、感謝」しか思いつきません。 これで、解決でいいでしょうか?
補足
お返事ありがとうございます。 できました! 嬉しいです。 ファイル数が3500ほどありますので、手作業で修正しなくて済みました。 私は、今までExcelを見たことも触ったこともなかったので、全くチンプンカンプでしたが、angel_Zさんに教えていただいたのでExcelを操作することが自由自在になりそうです。(但しVBからですけど) Excel自体はは全くわかりません。(涙 今回教えていただいたため次の作業もできるようになりました。(やっぱりVBからですけど) 1.セルに値を挿入する方法 2.行を削除したりコピーしたり 3.その他いろいろ VB2010でExcelを操作する場合は、インテリセンスが表示されなくても使えるメンバがたくさんあるんですね。 コードの雰囲気が、なんかVB.NETとは少し違う感じがしました。面白いですね。
お礼
あの~ 感謝の言葉がありません。 for i as integer =0 to 99 listbox1.items.add(感謝!) next
補足
お返事ありがとうございます。 >エクセル開放とエクセルを起動のSetの部分は、.Netでは外してOKです。 さらなる情報をありがとうございます。 >答えが同じでも、いろいろなやり方がありますので、 本当にそうですね。 今までは、仕事ではPCなどは使ったことがありませんが、これから少しずつ使う場面がでてきそうです。 でも、その前に「エクセル」本体の操作方法を少し覚えないといけませんね。 自宅にあるPCは「エクセル」が入っていませんでしたので、会社から古い未使用のCDがありそれをインストールしましたので、これから少し「エクセル」本体の学習もしたいと思います。