Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


31287 / 76738 ←次へ | 前へ→

【50703】Re:既存ファイルから新規ファイルにデータを移す場合の表示形式
発言  こたろう  - 07/8/11(土) 1:07 -

引用なし
パスワード
   ひげくま さん

レスありがとうございます。

>ちょっと間違いが多すぎますね。
>正しい情報を書かないと、欲しい回答は出てきませんよ。
>こちらとしては、嘘の情報に踊らされることになります。

申し訳ありません。
落ち着いて書くよう努めます。

>書式が「どんな」数値になっていますか?

0.00です。勘違いしていました。失礼いたしました。


>B列の値が代入されたセルだけではなく、B列のすべてのセルの書式を変更すると、何かまずいことになりますか?
>まずいことにならないのであれば、すべてを一気に指定するほうが簡単ですよ。

まずいことにはなりません。
なるほどと思い、

------------------------------------------------------
ファイルを検索

新規エクセル(書き込み先)作成

  '指定されたフォルダ内のエクセルファイル分回す
  Do While xlsFile <> ""
 
    '既存エクセル用意
    Set 既存App = CreateObject("Excel.application")
    Set 既存Book = 既存App .Workbooks.Open("保管場所のパス")
    
    Set 新規Sheet = 新規Book.Worksheets(1)
    Set 既存Sheet = 既存ook.Worksheets("1")

    新規Sheet.Columns("A:A").Select  
    Selection.NumberFormatLocal = "0.0_ "

    
    'データ書き込み処理
    With 新規xlSheet
      .Range("A1") = 既存Sheet.Range("A1").Text
      .Range("A2") = 既存Sheet.Range("F9").Text      .
      .
      .
      .
      .
    end with

    '--既存エクセル終了処理          

    xlsFile = Dir()  
  Loop


  '--新規エクセル終了処理


---------------------------------

としたのですが、新規Sheet.Columns("A:A").Select で「RangeクラスのSelectメソッドが失敗しました」とエラーになってしまいます。

また、

>既存Sheet.Range("A1").Copy Destination:=新規Sheet.Range("A1")
>ではどうでしょう?
>Copyメソッドを使えば、値も書式も、セルのすべてがコピーされますよ。

これもなるほど!と思い、そのままがコピーできるのであれば、それが一番なので、


------------------------------------------------------
ファイルを検索

新規エクセル(書き込み先)作成

  '指定されたフォルダ内のエクセルファイル分回す
  Do While xlsFile <> ""
 
    '既存エクセル用意
    Set 既存App = CreateObject("Excel.application")
    Set 既存Book = 既存App .Workbooks.Open("保管場所のパス")
    
    Set 新規Sheet = 新規Book.Worksheets(1)
    Set 既存Sheet = 既存ook.Worksheets("1")
    
    
    'データ書き込み処理
    既存Sheet.Range("A1").Copy Destination:=新規Sheet.Range("A1")
      .
      .
      .
      .
      .


    '--既存エクセル終了処理          

    xlsFile = Dir()  
  Loop


  '--新規エクセル終了処理


---------------------------------

と、データ書き込み処理の代わりにこのまま試してみたら、「Range クラスの Copy メソッドが失敗しました」というエラーが出てしまいました。


ヘルプ等確認したのですが、構文の間違いを見つけることができず、またとまってしまいました。
どこか間違いがあるのでしょうか?
申し訳ありません・・・。


※一つ前のわたしの記事で、「例えば新規ファイルの2シート目のB列が・・・」と質問させていただきましたが、コードは最初の例に合わせて新規ファイルの1シート目のA列を数値に設定する、という風にしました。

0 hits

【50644】既存ファイルから新規ファイルにデータを移す場合の表示形式 こたろう 07/8/7(火) 6:33 質問
【50648】Re:既存ファイルから新規ファイルにデータ... ひげくま 07/8/7(火) 9:45 発言
【50689】Re:既存ファイルから新規ファイルにデータ... こたろう 07/8/9(木) 21:57 発言
【50693】Re:既存ファイルから新規ファイルにデータ... ひげくま 07/8/10(金) 9:46 発言
【50700】Re:既存ファイルから新規ファイルにデータ... こたろう 07/8/10(金) 22:09 発言
【50701】Re:既存ファイルから新規ファイルにデータ... ひげくま 07/8/10(金) 22:56 回答
【50703】Re:既存ファイルから新規ファイルにデータ... こたろう 07/8/11(土) 1:07 発言
【50704】Re:既存ファイルから新規ファイルにデータ... ひげくま 07/8/11(土) 2:13 発言
【50708】Re:既存ファイルから新規ファイルにデータ... こたろう 07/8/11(土) 15:50 発言

31287 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free