• ベストアンサー

VB.NETによるEXCELの行挿入

VB.NET 2005/XP(sp2)/Excel2003(sp2) 上記の環境で開発しておる者です。 VB.NETでExcelを操作するプログラムを作ろうといています。 内容は雛形Sheetの行(複数行)をコピーして、新しく作成したSheetに貼り付ける処理をしたいのですが、手法がわかりません…。 Excel起動・新しいSheetの作成・Excelの保存はなんとかできましたが、行コピーとコピーした行の挿入部分のサンプルが御座いましたら、どなたか、教えて頂けないでしょうか? よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

#1でおっしゃっていること(マクロの記録)で、エクセル内から実行できるコードがわかります。 そのコードの中の、オブジェクトの前に、CreateObjectでExcelオブジェクトにつけた名前を、頭につけ(例「Exlapp.・・(Exlappの後にドットあり)」のようにし)て実行してみてください。うまく実行されなければ、その付近のコードとともに質問をさたら。 .

その他の回答 (1)

回答No.1

Excel で、メニューの「ツール」→「マクロ」→「新しいマクロの記録」を実行して、行コピー→行挿入とすると、VBA が記録されますので、それを参考にされてはいかがでしょうか。

関連するQ&A

  • EXCELで行挿入、これは一体何故ですかねえ

    Windows XPでEXCEL2000を使用していますが友人のパソコンのEXCELファイル(友人もW-xpでEXCELも2000)を私のパソコンにコピーして表の中で行挿入をしたいのですが「データの消失を防ぐために、空白でないセルを空白でないセルをワークシートの外にシフトすることは出来ません」と云うメッセージが出てきて行挿入できません。普通は挿入タブをクリックして「行」をクリックすれば自動的に任意の箇所に行挿入できるのですが、何かの設定不足でしょうか。全く挿入できません。どなたか教えてください。

  • VB2010でExcelの行をコピーして挿入する

    いつもお世話になります。 VB2010を使用してExcelのある1行をコピーして、コピーしたものを同じシートに挿入したいのですが方法がわかりません。 画像のように、35と36の行をコピーして、37と38に全く同じ物を挿入したいです。 サイトをしらみつぶしに探しましたが、私に理解できるサイトがヒットしませんでしたので、できればサンプルコードを教えていただけると嬉しいです。 下記のようにコードを書きましたが、コピペ状態でほとんど理解していません。 Imports Microsoft.Office.Interop Public Class Form1 Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Shown Me.Visible = False Dim xlApp As New Excel.Application Dim xlBook As Excel.Workbook Dim xlSheet As Excel.Worksheet 'Excelブックを起動 xlBook = xlApp.Workbooks.Open("C:\test1.xls") 'Excelを表示 xlApp.Visible = False 'シートを指定 xlSheet = DirectCast(xlBook.Worksheets(1), Excel.Worksheet) xlSheet.Activate() 'ここから ' ' ' ' 'ここまでがわかりません ' xlBook.Save() '上書き保存 xlBook.SaveAs("c:\test2.xls") '名前をつけて保存 xlBook.Close() xlApp.Quit() '終了処理 xlSheet = Nothing xlBook = Nothing xlApp = Nothing 'テストが完了したらループ処理に変更する Dim p() As Process = Process.GetProcessesByName("Excel") p(0).Kill() End Sub End Class エクセルのバージョンはExcel 2003です。 お手数おかけしますがよろしくお願いします。

  • エクセルの行挿入について

    こんにちわ。お世話になります。 エクセルでシート1に1,000行、シート2に1,000行のデータを作成し、シート1のデータの上にシート2のデータを貼り付けて連続したデータを作っているのですが、データを貼り付けるたびに1,000行の行挿入をしてからデータを貼り付けています。いちいち行挿入をせずにもっと簡単にできる方法があれば教えていただけませんか。お願いします。

  • Excel 挿入について

    Windows Vistaを使用して、Excelで表を作成していますが、「行の挿入」をすると、「オブジェクトがシートからはみ出します。その操作はできません。」という表示が出て、行の挿入が出来ませんので、どうすれば行の挿入が出来るようになるのか、教えて下さい。

  • 行の挿入が出来なくなりました

    Excel2007です ある日から 行の挿入をしようとすると 「オブジェクトからシートがはみだします その操作が出来ません」 のメッセージが表示され出来ません 困っております 

  • Excelの行の挿入

    Office2000のExcelなんですが、行を挿入しようとすると挿入したい行の下をコピーしてしまいます。 例えば5行挿入したい時に左端の数字の部分を5行ドラッグして挿入を選ぼうとすると元にある5行がコピーされてしまいます。 突然なるようになってしまいました。 前は普通に挿入できたのですが・・・。 直し方ってありますか??

  • EXCEL2007を使い始めてからなのですが、行の挿入をしようとすると

    EXCEL2007を使い始めてからなのですが、行の挿入をしようとすると「オブジェクトがシートからはみ出します。その操作はできません。」という警告が出てその操作もできなくなってしまいます。どうすればいいのでしょうか?

  • VB.NET操作で Excelにビットマップ貼り付け

    下記の環境で開発しています。 VB.NET 2005/XP(sp2)/Excel2003(sp2) ビットマップをExcel2003に貼り付けたいのですが、どなたか手法ご存知ないでしょうか? 画像ファイル(Bitmap)→画面に表示→Excelに画像ファイル(Bitmap)を出力といったイメージなのですが… ※Excelを起動して、名前を付けて保存は今のところ上手くいってるようです。

  • EXCELで切り取った行を別シートに挿入

    EXCELである行を選択して切り取り、同一シート内の任意の場所に挿入すると 元の行は自動的に削除されます。 しかし、別シートに挿入した時は、元の行は削除されず、わざわざ その行を削除する、という操作が必要となります。 そこで質問なのですが、別シートへの挿入を一つの操作で行う方法はないでしょうか? また、その方法がない場合、それはEXCELの何らかの仕様を反映しているのだと 思いますが、それはどのようなものでしょうか? よろしくお願いします。

  • Excelの行挿入で

    Excelのシートにデータがつまっているのですが(これから新しく表を作るということではないということです。)、行の挿入をしたいのです。 このとき、行を選択して、右クリックで「挿入」を選べば挿入自体はできます。 しかし、 既にある表は、行が、A列とB列が結合されているのですが、 単に上記のように挿入すると、 A列B列が分かれている行が挿入されてしまいます。 新しく挿入された行のA列とB列を選択して、「セルの書式設定」の「配置」でセルを結合させてもいいのですが、 いちいちそうしなくても 挿入時点ですでに結合されているようにするにはどうすればよいですか。 (Excel2000)

専門家に質問してみよう