[[20140724202748]] 『フォルダ内の全ファイルの更新?A』(サンハイツ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『フォルダ内の全ファイルの更新?A』(サンハイツ)

 以前,下記のようなコードを教えてもらいました。

 Sub test()
 Dim fn As String, myLinks, myLink, i As Long
 fn = Dir(ThisWorkbook.Path & "\*.xls")
 Do While fn <> ""
     If fn <> ThisWorkbook.Name Then
         With Workbooks.Open(ThisWorkbook.Path & "\" & fn, updatelinks:=1)
             myLinks = .LinkSources(Type:= xlLinkTypeExcelLinks)
             If IsArray(myLinks) Then
                 For i = LBound(myLinks) To UBound(myLinks)
                     .BreakLink Name:=myLinks(i), Type:=xlLinkTypeExcelLinks
                 Next
             End If  '<- 追加 10:29
             .Close true
         End With
     End If
     fn = Dir
 Loop
 End Sub

 これは,同一フォルダ内に,A,B,Cのファイルがあって,AファイルからB,Cファイルにリンクがかかっていて,
 Aファイルからマクロを実行すると,B,Cファイルを開いて,データを更新して,リンクを切断して,上書き保存するものです。

 ここで,Aファイルのシート1のA1〜A3セルのデータをコピーして,B,CファイルのA1〜A3セルに貼り付ける  
 というコードを上記コードの中に組み込みたいのですが,どうなりますでしょうか。

< 使用 Excel:Excel2010、使用 OS:Windows7 >


閉じる前に、コピー操作を追加

    .Sheets("Sheet1").Range("A1:A3").Value = _
       ThisWorkbook.Sheets("Sheet1").Range("A1:A3").Value
    .Close True
 End With

(マナ) 2014/07/25(金) 23:04


 ありがとうございます。

 ここで,同じフォルダ内に,Dファイルがあるとします。

 それで,「Dファイルには,上記のコピー貼り付けが作用しない」

 というふうにコードを作りたいのですが,いかがでしょうか。
 よろしくお願いします。

(サンハイツ) 2014/07/26(土) 09:20


こういう意味ですか

 if ファイル名がDでない then
   コピー
 end if

 だとしたら、元のコード内で、同様のことを行っていますが理解されていますか

(マナ) 2014/07/26(土) 09:45


 ありがとうございます。

 ThisWorkbookのSheets("Sheet1").Range("A1:A3")をWorkbooksのSheets("Sheet1").Range("A1:A3")
 にコピーして貼り付けるのですが,このとき,Workbooksの中に「Dファイル」があって
 Dファイルには貼り付かない

 というようにしたいのですが。

(サンハイツ) 2014/07/26(土) 11:14


元のコードの

 >If fn <> ThisWorkbook.Name Then

 の部分は理解できていますか。
 理解せずに使えさえすればOKという感じでは、
 いつまでもご自身で対応できず困ると思いますが…

 再掲します。

 > if ファイル名がDでない then
 >   コピー
 > end if

(マナ) 2014/07/26(土) 11:30


 できました。
 いろいろ調べて,

 If fn <> ThisWorkbook.Name And fn <> "D.xlsm" Then

 としたら,うまくいきました。
 ありがとうございました。

(サンハイツ) 2014/07/26(土) 15:21


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.