|
ひげくま さん
遅くなりました。レスありがとうございました
>これだけでは、こたろうさんがどのように書き込んでいるのかがわかりません。
>コートを提示すると、適切なアドバイスをしてもらいやすくなると思いますよ。
その通りですね。ご指摘ありがとうございます。
今は、下記のようにしています。
------------------------------------------------------
’ファイルを検索
xlsFile = Dir("\\C\*.xls", vbNormal)
新規エクセル(書き込み先)作成
Set 新規App= CreateObject("Excel.application")
Set 新規Book = 新規App.Workbooks.Add
'指定されたフォルダ内のエクセルファイル分回す
Do While xlsFile <> ""
'既存エクセル用意
Set 既存App = CreateObject("Excel.application")
Set 既存Book = 既存App .Workbooks.Open("保管場所のパス")
Set 新規Sheet = 新規Book.Worksheets(1)
Set 既存Sheet = 既存ook.Worksheets("1")
'データ書き込み処理
With 新規xlSheet
.Range("A1"). = 既存Sheet.Range("A1").Text
.Range("A2"). = 既存Sheet.Range("F9").Text
.
.
.
.
.
end with
'--既存エクセル終了
既存App.DisplayAlerts = False
既存Book.Save
既存Book.Close
既存App.Quit
Set 既存Book = Nothing
Set 既存App = Nothing
xlsFile = Dir()
Loop
'--新規エクセル終了
新規lApp.DisplayAlerts = False
新規Book.SaveAs Application.ThisWorkbook.Path & "\新規.xls"
新規Book.Close
新規App.Quit
Set 新規Book = Nothing
Set 新規App = Nothing
---------------------------------------------------------------
という感じです。
セル位置になんの規則性もないので、ひたすら代入しています。
(本当はひとつのプロシージャでは書ききれないので、複数のプロシージャに分けています)
この時に、書式ごと(textプロパティを使った状態でそのまま)新規エクセルに書き込みたいのですが、新規エクセルの書式は標準になってしまっており、100.0が100になってしまいます。
代入時に「ここは書式ごと(.textプロパティ)」「ここは値のみ(.valueプロパティ)」
という風に、分けることは出来ないでしょうか?
宜しくお願いいたします。
また、会社から書き込みができず、今週は外回りが多いため、お返事が遅くなることがあるかもしれません。
レスをいただいた際には必ずお返事いたしますので、申し訳ありませんが、何卒ご了承ください。
|
|