質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
DataGrid

GUIの一種であり、データを表の形式でみることが可能です。

Visual Studio 2012

Microsoft Visual Studio 2012は、Microsoftによる統合開発環境(IDE)であり、多種多様なプログラミング言語に対応しています。 Visual Studio 2010の次のバージョンです

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

Q&A

解決済

1回答

11519閲覧

[VB.NET]データグリッドビューのExcel出力について

reeeo

総合スコア42

DataGrid

GUIの一種であり、データを表の形式でみることが可能です。

Visual Studio 2012

Microsoft Visual Studio 2012は、Microsoftによる統合開発環境(IDE)であり、多種多様なプログラミング言語に対応しています。 Visual Studio 2010の次のバージョンです

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

0グッド

0クリップ

投稿2017/08/08 08:34

編集2017/08/09 00:46

VB.NETであるプログラムを作成しています。
DBと接続してデータグリッドビューにテーブルの情報を表示しています。
そこで、出力ボタンを押下した際にデータグリッドビューに表示しているデータをExcelに入力できるようにしたいです。

'出力ボタン Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim app As Excel.Application = Nothing Dim book As Excel.Workbook = Nothing Dim sheet As Excel.Worksheet = Nothing Try app = New Excel.Application() app = CreateObject("Excel.Application") book = app.Workbooks.Open("C:\form3\Book1.xlsx") sheet = book.Worksheets(1) 'For i As Integer = 0 To DataGridView1.Rows.Count - 1 'For x As Integer = 0 To DataGridView1.ColumnCount - 1 sheet.Range("A2").Value = "aaa" sheet.Range("B2").Value = "ab" sheet.Range("C2").Value = "abc" sheet.Range("D2").Value = "a" sheet.Range("E2").Value = "a" 'Next 'Next app.Visible = True System.Threading.Thread.Sleep(5000) book.Save() app.Quit() Catch ex As Exception Throw ex Finally Marshal.ReleaseComObject(sheet) Marshal.ReleaseComObject(book) Marshal.ReleaseComObject(app) End Try End Sub

一応今はこれでExcelにベタ書きで文字を入力することはできています。

For i As Integer = 0 To DataGridView1.Rows.Count - 1 sheet.Range(1, i).Value = DataGridView1.Rows(i).Cells(1).Value sheet.Range(2, i).Value = DataGridView1.Rows(i).Cells(4).Value sheet.Range(3, i).Value = DataGridView1.Rows(i).Cells(5).Value sheet.Range(4, i).Value = DataGridView1.Rows(i).Cells(6).Value sheet.Range(5, i).Value = DataGridView1.Rows(i).Cells(7).Value Next

Excelの方に一行文だけ入力できました。
後はExcelの方でA2,A3,A4,A5...と各セルを下にずらしていきたいのですがそのやり方がわかりません。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

RangeではなくCellsを使えば、セル座標を指定できますよ。

ちょっとした補足ですが、Cellsの場合、引数は(行番号,列番号)となります。どちらも最小値は1です。

投稿2017/08/09 07:23

cauliflowerjoe

総合スコア102

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

reeeo

2017/08/09 07:27

回答ありがとうございます。 なんとかできました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問