@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

Excelオートメーション時に

1
投稿者投稿内容
Yakisoba
ベテラン
会議室デビュー日: 2006/05/12
投稿数: 62
お住まい・勤務地: 渋谷苦
投稿日時: 2007-04-09 13:33
こんにちは、いつもお世話になっております。

VB.NETで帳票を作成しています。
過去に何度もアドバイスを頂き、
ようやく形になってきました。

このたび、オートメーションを使用して
データの配列をブックの特定のセル範囲に転送する
操作を行おうとしているのですが、
Excelテンプレートの特定の行(または列)に
あらかじめ式を埋め込んでいる場合に
その行を飛ばして貼り付けることは
可能なのでしょうか。



Dim DataArray(99, 2) As Object
Dim i As Integer
For i = 0 To 99
DataArray(i, 0) = 値1
DataArray(i, 1) = "仮にこの場所に式を埋め込んでいるとする"
DataArray(i, 2) = 値2
Next

oSheet.Range("A2").Resize(100, 3).Value = DataArray


Nothingや空白指定では式が消されてしまい(当たり前か・・・)
困っております。
やはり式の手前で切り分けるしか方法はないのでしょうか。




[ メッセージ編集済み 編集者: Yakisoba 編集日時 2007-04-09 13:35 ]
まどか
ぬし
会議室デビュー日: 2005/09/06
投稿数: 372
お住まい・勤務地: ますのすし管区
投稿日時: 2007-04-09 13:42
引用:

oSheet.Range("A2").Resize(100, 3).Value = DataArray



最初にこの逆をおこない、値を確かめながら代入。。。しかないかな?
上書き先(シート)の仕様を知っているという前提ならインデックス値で条件書けますけどね。
Yakisoba
ベテラン
会議室デビュー日: 2006/05/12
投稿数: 62
お住まい・勤務地: 渋谷苦
投稿日時: 2007-04-09 17:22
早速のご返答ありがとうございます。

逆から行うことも可能なのですね。
参考になります。

今回はシートの仕様が分かっているので
条件を書いて処理をすることにします。

ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)