「みんな教えて! 選手権!!」開催のお知らせ

現在、既存のエクセルファイルから、
新規エクセルファイルにデータを移すプログラムを作成しています。

CreateObjectを使ってエクセルを開いた後、

xlbook(1).Sheets("sheet1").Cells(1, 1).Value =
xlbook(2).Sheets("sheet1").Cells(1, 1).Value

Set xlbook(1) = Nothing
Set xlbook(2) = Nothing

以上の構文でxlbook(2)からxlbook(1)に値は代入出来るのですが、
この際にエクセルの書式が皆「標準」になってしまい困っています。

xlbook(2)には、表示形式が「文字列」や「ユーザー定義」に設定されたセルが沢山あり、
そのままの表示形式で移すプログラムを作成したいのですが、良くわかりません。
確か、Valueを何かに書き換えたような記憶があるのですが・・・。

皆さんのご教授、宜しくお願い致します。

A 回答 (1件)

表示形式だけなら



xlbook(1).Sheets("sheet1").Cells(1, 1).Value =
xlbook(2).Sheets("sheet1").Cells(1, 1).Value
xlbook(1).Sheets("sheet1").Cells(1, 1).NumberFormat =
xlbook(2).Sheets("sheet1").Cells(1, 1).NumberFormat

とか、、、
全部ならコピーしちゃうのも。

xlbook(2).Sheets("sheet1").Cells(1, 1).Copy Destination:= _
xlbook(1).Sheets("sheet1").Cells(1, 1)

VBAしか知らないのでVBで動くか解りませんけど。
    • good
    • 0
この回答へのお礼

試してみたところ、NumberFormatは稼動しました。
ありがとうございました!

お礼日時:2006/06/17 19:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A