![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?08b1c8b)
いつもお世話になります。
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です。
お手数おかけしますがよろしくお願いします。
![「VB2010でExcelの行をコピーして」の質問画像](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/b/1466276_5497d984efef5/M.jpg)
No.2ベストアンサー
- 回答日時:
エクセル開放とエクセルを起動のSetの部分は、
.Netでは外してOKです。
解決できて良かったです(^o^)
答えが同じでも、いろいろなやり方がありますので、
これからいろいろチャレンジしてみて下さい。
この回答への補足
お返事ありがとうございます。
>エクセル開放とエクセルを起動のSetの部分は、.Netでは外してOKです。
さらなる情報をありがとうございます。
>答えが同じでも、いろいろなやり方がありますので、
本当にそうですね。
今までは、仕事ではPCなどは使ったことがありませんが、これから少しずつ使う場面がでてきそうです。
でも、その前に「エクセル」本体の操作方法を少し覚えないといけませんね。
自宅にあるPCは「エクセル」が入っていませんでしたので、会社から古い未使用のCDがありそれをインストールしましたので、これから少し「エクセル」本体の学習もしたいと思います。
あの~
感謝の言葉がありません。
for i as integer =0 to 99
listbox1.items.add(感謝!)
next
No.1
- 回答日時:
こんにちは。
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
この回答への補足
お返事ありがとうございます。
できました!
嬉しいです。
ファイル数が3500ほどありますので、手作業で修正しなくて済みました。
私は、今までExcelを見たことも触ったこともなかったので、全くチンプンカンプでしたが、angel_Zさんに教えていただいたのでExcelを操作することが自由自在になりそうです。(但しVBからですけど)
Excel自体はは全くわかりません。(涙
今回教えていただいたため次の作業もできるようになりました。(やっぱりVBからですけど)
1.セルに値を挿入する方法
2.行を削除したりコピーしたり
3.その他いろいろ
VB2010でExcelを操作する場合は、インテリセンスが表示されなくても使えるメンバがたくさんあるんですね。
コードの雰囲気が、なんかVB.NETとは少し違う感じがしました。面白いですね。
angel_Zさんへ
自力で解決しようとすれば、どれだけの時間を要したかを考えると、お礼の言葉が見つかりません。
「感謝、感謝」しか思いつきません。
これで、解決でいいでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/03/25 08:33
- Visual Basic(VBA) 貼り付けた値が消えていく 以下はソースファイルの2番目のシートのB6から最終行を取得 ターゲットファ 2 2023/07/27 12:23
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) マクロVBA 1シートをまとめる 閉じ方 初心者 SOS! 1 2022/06/17 14:54
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
このQ&Aを見た人はこんなQ&Aも見ています
-
あなたの「必」の書き順を教えてください
ふだん、どういう書き順で「必」を書いていますか? みなさんの色んな書き順を知りたいです。 画像のA~Eを使って教えてください。
-
何回やってもうまくいかないことは?
みなさんには、何回やってもうまくいかないことはありますか?
-
コンビニでおにぎりを買うときのスタメンはどの具?
コンビニでおにぎりを買うとき、何の具材を選ぶことが多いですか?
-
人生でいちばんスベッた瞬間
誰しも、笑いをとろうとして失敗した経験があると思います。
-
思い出すきっかけは 音楽?におい?景色?
記憶をふと思い出すきっかけは 音楽、におい、景色 どれですか?
-
vb.netからエクセル関数書き込み
Visual Basic(VBA)
-
VB.NETによるEXCELの行挿入
Visual Basic(VBA)
-
エクセルの列一括書き込み
Visual Basic(VBA)
-
-
4
.NET上でエクセル上に罫線を引く
Visual Basic(VBA)
-
5
VB.NETでExcelのヘッダー出力を制御したい
Visual Basic(VBA)
-
6
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
7
VB.NETの配列にExcelから読み込んできたデータを格納したい
Visual Basic(VBA)
-
8
VB.NETで小数点以下の桁数を取得したい
その他(ソフトウェア)
-
9
DateTimePickerでに年月までしか選択できないようにしたいです。
Visual Basic(VBA)
-
10
VBでファイルが開かれているかどうかを確認したい
Visual Basic(VBA)
-
11
VBからEXCELのセルの値を取得する方法
Visual Basic(VBA)
-
12
ピクチャーボックスの大きさに合わせて画像を表示
Visual Basic(VBA)
-
13
フォームの再読み込み
Visual Basic(VBA)
-
14
「タイプ初期化子が例外をスローしました」エラー何?
Visual Basic(VBA)
-
15
VBでEXCELのシートのコピーに関して
Visual Basic(VBA)
-
16
VB.NET Excelを読み込んでDataTableに格納し、DBにデータをINSERTする
Microsoft ASP
-
17
Visual Basic.NETの、Form 間での引数の引渡し方法を教えてください。
Visual Basic(VBA)
-
18
DataGridViewでセルクリックイベントを発生させるには
Visual Basic(VBA)
-
19
VB.NETでコンボボックスの1行目を空白にしたい
Visual Basic(VBA)
-
20
文字列の後ろから必要分だけ削除したい。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelVBAで今開いているユーザ...
-
フォルダ内の全ブックのシート...
-
VBスクリプトでエクセルのセル...
-
フォルダ内の全ブックのシート...
-
EXCELマクロでxlsとxlsxを開く方法
-
EXCEL VBA起動時の処理
-
Excel マクロでファイル名を変...
-
エクセルVBA Workbook変数に変...
-
複数のデータ系列の線の太さを...
-
Word VBAでWindows media playe...
-
エクセル終了時の保存確認メッ...
-
ピボットグラフの書式の固定に...
-
wordのマクロで縮小して貼り付...
-
EXCELにcsv形式の外部データを...
-
エクセルの指数を無効にしたい
-
別のパソコンでエクセルのマク...
-
マクロを設定したのに、拡張子...
-
工場のベルトコンベアの人員配...
-
Powerpointでランダムな数字の...
-
複数のCSVファイルを横に並べて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBAで今開いているユーザ...
-
フォルダ内の全ブックのシート...
-
エクセルVBA Workbook変数に変...
-
VB2010でExcelの行をコピーして...
-
【Excel VBA】ブックを複数開い...
-
【ExcelVBA】指定の書式で、マ...
-
すでに開いているブックのマク...
-
VBA セル入力された日付データ...
-
フォルダ内の全ブックのシート...
-
EXCELマクロでxlsとxlsxを開く方法
-
VBA、Excelのworkbook.open に...
-
フォルダ内の全てのBookに同じ...
-
[Excel VBA] フォルダ内の複数...
-
excelマクロ、任意セルの値で名...
-
他のBookのユーザー定義関数を使う
-
エクセルVBAでブックを開くと処...
-
VBAでEXCELのワークシートを削...
-
personal.xlsの削除方法
-
excelでハイパーリンク 別ブッ...
-
EXCEL VBA起動時の処理
おすすめ情報