| ■42471 / ) |
Re[13]: DataGridからエクセル出力でエラー |
□投稿者/ ダメッス (11回)-(2009/10/16(Fri) 08:14:40)
|
■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
|
|