Excel VBA質問箱 IV

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

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


10256 / 13644 ツリー ←次へ | 前へ→

【22839】ファイルコピー よへです 05/3/4(金) 17:54 質問[未読]
【22842】Re:ファイルコピー G-Luck 05/3/4(金) 18:07 回答[未読]
【22846】Re:ファイルコピー よへです 05/3/4(金) 19:12 質問[未読]
【22855】Re:ファイルコピー G-Luck 05/3/5(土) 8:18 発言[未読]
【22865】Re:ファイルコピー よへです 05/3/5(土) 12:05 質問[未読]
【22866】Re:ファイルコピー G-Luck 05/3/5(土) 13:02 回答[未読]
【22876】Re:ファイルコピー よへです 05/3/5(土) 14:18 質問[未読]
【22878】Re:ファイルコピー G-Luck 05/3/5(土) 14:36 回答[未読]
【22880】Re:ファイルコピー よへです 05/3/5(土) 17:15 お礼[未読]

【22839】ファイルコピー
質問  よへです  - 05/3/4(金) 17:54 -

引用なし
パスワード
   こんにちは。
初心者ですがお願いします
同じホルダーに、管理図基本.xls・総括基本.xlsが
あるのですが 管理図基本を入力し別名で保存
その後に総括基本でファイルを参照しコピーしたいのですが
これだとファイル名がちがうとだめ
どなたか教えてください

Sub Macro2()
 
  a = Application.GetOpenFilename()
  Workbooks.Open Filename:="管理図基本.xls"<--このファイル名がいつも変わる
  Sheets("総括").Select
  Range("B2:P14").Select
  Selection.Copy
  Windows("総括基本.xls").Activate
  Range("B2").Select
  ActiveSheet.Paste
  Range("A3").Select
  Windows("管理図基本.xls").Activate
  ActiveWorkbook.Close True 
  
End Sub

【22842】Re:ファイルコピー
回答  G-Luck  - 05/3/4(金) 18:07 -

引用なし
パスワード
   ▼よへです さん:
G-Luckといいます。

>  a = Application.GetOpenFilename()
>  Workbooks.Open Filename:="管理図基本.xls"<--このファイル名がいつも変

せっかく取得した a を使っていませんよ。

Workbooks.Open Filename:=a

でどうでしょう?

【22846】Re:ファイルコピー
質問  よへです  - 05/3/4(金) 19:12 -

引用なし
パスワード
   ▼G-Luck さん:
早速で有難うございます。
できました。
しかしマクロを 4つくり総括基本の違うセルにコピー
したら改行した違うものがくのですがどうしてなのかな・・?
すみませんがお願いします。

b = Application.GetOpenFilename()
  Workbooks.Open Filename:=b
  Sheets("総括").Select
  Range("B2:P14").Select
  Selection.Copy
  Windows("総括基本.xls").Activate
  Range("B16").Select <-----------ここですB4,B16,B30,B44
  ActiveSheet.Paste
  Range("A3").Select
  Workbooks.Open Filename:=b
  ActiveWorkbook.Close True

【22855】Re:ファイルコピー
発言  G-Luck  - 05/3/5(土) 8:18 -

引用なし
パスワード
   ▼よへです さん:
>しかしマクロを 4つくり総括基本の違うセルにコピー
>したら改行した違うものがくのですがどうしてなのかな・・?
すいません、文章が・・・

>b = Application.GetOpenFilename()
>  Workbooks.Open Filename:=b
>  Sheets("総括").Select
>  Range("B2:P14").Select
>  Selection.Copy
>  Windows("総括基本.xls").Activate
>  Range("B16").Select <-----------ここですB4,B16,B30,B44
>  ActiveSheet.Paste
>  Range("A3").Select
>  Workbooks.Open Filename:=b
>  ActiveWorkbook.Close True

上記コードで、疑問に思うのは、
後半の
>  Workbooks.Open Filename:=b
です。
Fn =Dir(b)
Workbooks(b).Activate
ではないですか?

【22865】Re:ファイルコピー
質問  よへです  - 05/3/5(土) 12:05 -

引用なし
パスワード
   ▼G-Luck さん:
変更してみたのですが
転記1は、ok 何ですが
転記2では、だめですね。
よみこんだファイルが閉じないでマクロが止まりますね
Sub 転記1()
  a = Application.GetOpenFilename()
  Workbooks.Open Filename:=a
  Sheets("総括").Select
  Range("B2:P14").Select
  Selection.Copy
  Windows("総括基本.xls").Activate
  Range("B2").Select <-----------ここですB2,B16,B30,B44
  ActiveSheet.Paste
  Range("A3").Select
  Workbooks.Open Filename:=a <----ここでは、ok 何ですが
  ActiveWorkbook.Close True
End Sub
Sub 転記2()
  b = Application.GetOpenFilename()
  Workbooks.Open Filename:=b
  Sheets("総括").Select
  Range("B2:P14").Select
  Selection.Copy
  Windows("総括基本.xls").Activate
  Range("B16").Select
  ActiveSheet.Paste
  Range("A3").Select
  Fn = Dir(b)       <--変更
  Workbooks(b).Activate  <--デバックとでます
  ActiveWorkbook.Close True
End Sub

【22866】Re:ファイルコピー
回答  G-Luck  - 05/3/5(土) 13:02 -

引用なし
パスワード
   ▼よへです さん:

失礼しました

>  Fn = Dir(b)       <--変更
  Workbooks(Fn).Activate  <--デバックとでます

【22876】Re:ファイルコピー
質問  よへです  - 05/3/5(土) 14:18 -

引用なし
パスワード
   ▼G-Luck さん:
転記1、転記2は、結果は同じですが
転記2では、やはりコピー元のRange("B2:P14").Selectが、コピー先では
Range("B10:P22").Selectがきてしまうですが、リンク貼り付けだから、
ですかね。

Sub 転記1()
  a = Application.GetOpenFilename()
  Workbooks.Open Filename:=a
  Sheets("総括").Select
  Range("B2:P14").Select
  Selection.Copy
  Windows("総括基本.xls").Activate
  Range("B2").Select <-----------ここですB2,B16,B30,B44
  ActiveSheet.Paste
  Range("A3").Select
  Workbooks.Open Filename:=a <----ここでは、ok 何ですが
  ActiveWorkbook.Close True
End Sub
Sub 転記2()
  b = Application.GetOpenFilename()
  Workbooks.Open Filename:=b
  Sheets("総括").Select
  Range("B2:P14").Select
  Selection.Copy
  Windows("総括基本.xls").Activate
  Range("B16").Select
  ActiveSheet.Paste
  Range("A3").Select
  Fn = Dir(b)       
  Workbooks(Fn).Activate  
  ActiveWorkbook.Close True
End Sub

【22878】Re:ファイルコピー
回答  G-Luck  - 05/3/5(土) 14:36 -

引用なし
パスワード
   ▼よへです さん:

>Sub 転記2()
>  b = Application.GetOpenFilename()
>  Workbooks.Open Filename:=b
   Fn = ActiveWorkbook.Name
>  Sheets("総括").Select
>  Range("B2:P14").Select
>  Selection.Copy
>  Windows("総括基本.xls").Activate
>  Range("B16").Select
>  ActiveSheet.Paste
>  Range("A3").Select
'  Fn = Dir(b)       
>  Workbooks(Fn).Activate  
>  ActiveWorkbook.Close True
>End Sub

ではどうでしょう?

【22880】Re:ファイルコピー
お礼  よへです  - 05/3/5(土) 17:15 -

引用なし
パスワード
   ▼G-Luck さん:
すませんが、かわりないですね。
ほかの方法を考えてみますありがとございます。

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