C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 72 を表示中)
■42472 / )  Re[14]: DataGridからエクセル出力でエラー
□投稿者/ ダメッス (12回)-(2009/10/16(Fri) 08:14:52)
No42471 (ダメッス さん) に返信
> ■No42448 (ごう さん) に返信
>>>>objExcelSheet.Range("A2:L" & CStr(j)).Value = DataArray
>>>Range("A2:L43")となってるので、データが2行分欠落してました^^;
>>>objExcelSheet.Range("A2:L" & CStr(j+2)).Value = DataArray
>>>に変更しました。
>>
>>これだと、j=43のとき、44行12列を選択することになりますよ。
>>
>>>> DataArrayは何行何列作ったの?
>>>ですが、43行12列でした。
>>
>>RangeとDataArrayの大きさが一致してませんね。
>>
>>もう少し、小さい範囲で考えて、原因を絞っていきましょう。
>>こちらを参考にして、(5,5)の大きさの配列を作り、5行5列分の範囲を指定してデータを代入することができますか?
>>http://support.microsoft.com/kb/302094/ja
>>
>>Dim range As Excel.Range
>>range = objExcelSheet.Range("A2", Reflection.Missing.Value)
>>range = range.Resize(5, 5)
>>
>>'(5,5)の大きさの配列を作り
>>Dim saRet(5, 5) As Double
>>
>>'(5,5)の大きさの配列に値を代入する
>>Dim iRow As Long
>>Dim iCol As Long
>>For iRow = 0 To 5
>> For iCol = 0 To 5
>> 'Put a counter in the cell.
>> saRet(iRow, iCol) = iRow * iCol
>> Next iCol
>>Next iRow
>>
>>'Set the range value to the array.
>>range.Value = saRet
>>
>># もしできるようであれば、データの作り方、もしくはRangeの指定の仕方に問題がある可能性があります
>>
>>
>
> ごうさんありがとうございます。
>
> 言われた通りのコーディングしました。。。
>
> なななんと、できました^^
>
> ですので、もう一度データ作成・Rangeまわりを見直してみます。
> やっと光が見えてきました。ありがとうございましたぁm(_ _)m
解決済み
返信 編集キー/


管理者用

- Child Tree -