| ■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
|
解決済み
|