
VB2010でデータグリッドビューを使用したいのですが、
下記のコードを実行すると、
※エラー1「指定された列は DataGridView コントロールに既に属しています。」がでます。
列インデックスがいるのかなと、コードを追加してみると
※エラー2「プロパティIndexはReadOnlyです」がでました。
どう直せばよいかわかるかた教えてください。
どうぞよろしくお願いします。
変数に入っているもの
系列数=2
系列名(0)=deg
系列名(1)=V
系列名(2)=P
Public Class Form2
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Text = "データビュー"
'初期化
Me.DataGridView1.Columns.Clear()
'列追加
Dim i, j As Long
Dim TBColumn As New DataGridViewTextBoxColumn()
For i = 0 To 系列数
TBColumn.Name = 系列名(i)
TBColumn.Index = i '←※エラー2 エラー後に追加してみた
Me.DataGridView1.Columns.Add(TBColumn) '←※エラー1
Next i
'行追加
Me.DataGridView1.RowCount = データ数
'データ追加
For j = 1 To データ数
For i = 0 To 系列数
Me.DataGridView1(系列名(i), CInt(j - 1)).Value = グラフデータ(i, j)
Next i
Next j
'列幅設定
For i = 0 To DataGridView1.Columns.Count - 1
Me.DataGridView1.Columns(i.ToString).Width = 30
Next i
End Sub
End Class
No.1ベストアンサー
- 回答日時:
DataGridViewのカラムを自前で作るなら そのForループの中でインスタンスを生成しましょう
Dim TBColumn As New DataGridViewTextBoxColumn()
For i = 0 To 系列数
TBColumn.Name = 系列名(i)
TBColumn.Index = i '←※エラー2 エラー後に追加してみた
Me.DataGridView1.Columns.Add(TBColumn) '←※エラー1
Next i
では無くて
For i = 0 To 系列数
' ココで生成
Dim TBColumn As New DataGridViewTextBoxColumn()
TBColumn.Name = 系列名(i)
' Indexは カラムを生成しDataGridViewに追加してから使用するプロパティのようです
' ReadOnly属性になっているので =の右辺には記述できますが =左辺(つまり設定)は出来ません
'TBColumn.Index = i '←※エラー2 エラー後に追加してみた
Me.DataGridView1.Columns.Add(TBColumn) '←※エラー1
Next i
エラーが発生しているのであればそのエラーメッセージも質問と同時に投稿したほうがいいでしょう
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) 別シートのデータを参照して値を入れたい。 まとめデータシートのC列D列の値を商品一覧シートのコードが 7 2022/08/17 13:20
- Visual Basic(VBA) VBA横データを縦にしたいです 2 2023/08/08 19:38
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) 稀に1円合いません? Sheet1から金額と個数を貼り付ける下記コードで、金額を切り上げるコードを何 3 2022/09/05 15:11
- Visual Basic(VBA) 数字が「0」の列を削除するため、下記のコードを実行しましたが、コンパイルエラーSubまたはFunct 3 2022/12/04 00:00
- Visual Basic(VBA) エクセルVBAで以下のようなコードを書いたらエラーになりました。何処が間違っているの教えて? 1 2023/02/10 18:30
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マクロOn Error GoTo ErrLabel...
-
if関数の順番 iserrorが認識さ...
-
VBA 空白行の削除
-
VBAでfunctionを利用しようとし...
-
OpenOffice Basicで簡単な関数...
-
UserForm1.Showでエラーになり...
-
On Error GoTo でエラーが発生...
-
ApplicationとWorksheetFunctio...
-
現在、HP作成業者さんがつく...
-
ExcelにSQLの結果を表示
-
WindowsのプロダクトIDを取得す...
-
検索Find処理を2重、3重とす...
-
インポート時のエラー「データ...
-
EnableWindow()後のGetLastError()
-
オブジェクト型の変数にフォー...
-
VBA データ(特定値)のある最...
-
実行時エラー'1004'の詳細と回...
-
VBA変数をFunction.VLookupの戻...
-
条件式について
-
エクセルVBAの二重ループについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
お助けください!VBAのファイル...
-
VBAでfunctionを利用しようとし...
-
String""から型'Double'への変...
-
【VBA】ワークブックを開く時に...
-
文字列内で括弧を使うには
-
マクロで"#N/A"のエラー行を削...
-
Excel vbaについての質問
-
VBA データ(特定値)のある最...
-
On ErrorでエラーNoが0
-
ApplicationとWorksheetFunctio...
-
【Access】Excelインポート時に...
-
インポート時のエラー「データ...
-
実行時エラー 438 の解決策をお...
-
オブジェクト型の変数にフォー...
-
.VBSだとADODBのプロバイダが見...
-
実行時エラー'-2147467259(8000...
-
【VB.NET】 パワポ操作を非表示で
-
フランスの生年月日(jj/mm/aaaa)
-
【VBAエラー】Nextに対するFor...
おすすめ情報