過去ログ

                                Page     332
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼ご教授ください  我夢 02/11/11(月) 20:46
   ┣Re:ご教授ください  初心者 02/11/12(火) 10:26
   ┃  ┗Re:ご教授ください  初心者 02/11/12(火) 13:24
   ┣Re:ご教授ください  でん 02/11/12(火) 14:48
   ┗Re:ご教授ください  我夢 02/11/12(火) 18:54

 ───────────────────────────────────────
 ■題名 : ご教授ください
 ■名前 : 我夢
 ■日付 : 02/11/11(月) 20:46
 -------------------------------------------------------------------------
   こんばんは。
初めて投稿いたします。


Excelファイルを100個作り、同じフォルダ内で保存してあります。
ファイル名はtest001から連番でtest100までです。

100個のファイルを一斉に開き、sheet1のA1セルに「1」と入力し
保存して閉じたいのです。

DOやFORなどでチャレンジしてみましたが、どうにも上手くいきません。

恐縮ですが、例文等を教えていただけないでしょうか。
宜しくお願いします。

※Excel2000です。
 ───────────────────────────────────────  ■題名 : Re:ご教授ください  ■名前 : 初心者 <kaz2000@izu.co.jp>  ■日付 : 02/11/12(火) 10:26  -------------------------------------------------------------------------
   はじめまして^^
こんなかんじでどうでしょう

Sub A1に1をいれよう()   
  For i = 1 To 100
    Workbooks(i).Worksheets(1).Range("a1") = 1
  Next i
End Sub

この場合ブック名に関係なく100個のブックを同時に開けばA1に代入できるみたいです。
 ───────────────────────────────────────  ■題名 : Re:ご教授ください  ■名前 : 初心者 <kaz2000@izu.co.jp>  ■日付 : 02/11/12(火) 13:24  -------------------------------------------------------------------------
   保存が入ってませんでした^^
これでどうでしょうか?

Sub A1に1をいれよう()
  For i = 1 To 100
    Workbooks(i).Worksheets(1).Range("a1") = 1
    Workbooks(i).Save
  Next i
End Sub
 ───────────────────────────────────────  ■題名 : Re:ご教授ください  ■名前 : でん  ■日付 : 02/11/12(火) 14:48  -------------------------------------------------------------------------
   ▼我夢 さん:
こんにちわ。
私も初心者ですが、頑張ってみました。
良ければ参考にして下さい。

Sub 更新保存()

  Application.ScreenUpdating = False

  Set fs = Application.FileSearch
  With fs
    .LookIn = "C:\ManyBooks" ←ブックのあるフォルダ
    .Filename = "*.xls"
    .SearchSubFolders = False
    
    If .Execute(SortBy:=msoSortByFileName, _
        SortOrder:=msoSortOrderAscending) > 0 Then
      For i = 1 To .FoundFiles.Count
        Workbooks.Open .FoundFiles(i)
        Worksheets(1).Range("A1") = 10
        ActiveWorkbook.Close SaveChanges:=True
      Next i
    End If
  End With
  
  Set fs = Nothing

  Application.ScreenUpdating = False

End Sub

フォルダを指定して、そのフォルダの中にある全ての
ブックを「開いて→値入れて→保存終了」としていま
す。更新しないブックがあれば対象のフォルダからは
抜いておいて下さい。

>100個のファイルを一斉に開き、sheet1のA1セルに「1」と入力し
>保存して閉じたいのです。
一斉に開くんではないんで、ご希望とは違うかも・・・。
 ───────────────────────────────────────  ■題名 : Re:ご教授ください  ■名前 : 我夢  ■日付 : 02/11/12(火) 18:54  -------------------------------------------------------------------------
   我夢です。
初心者さん、でんさん、ご丁寧にありがとうございます。

本日は出先ですので、明日会社に戻り試してみます。
ありがとうございました。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 332