|
こんにちは。かみちゃん です。
>選択したフォルダーから任意のExcelファイルを開きたいのです;;
任意のファイルとは、ファイルを開くダイアログボックスで選択したいということですか?
それであれば、GetOpenFilename メソッドのヘルプをご確認ください。
>2.1.にて開いたExcelファイルの指定のセルをコピー
>
> '指定のセルをコピー
> Range("B18:D28").Select
> Selection.Copy
>
>これでよろしいでしょうか??
>
>3.集計シートに2.のコピーしたセルを指定のセルに貼り付けたい。
>
> Windows("集計シート.xls").Activate
> Range("B4").Select
> ActiveSheet.Paste
>
>このまま繋げて問題ないでしょうか??
コピー元セルに数式がないならばそれでもいいですが、
リンク式を埋め込んで、値化することで、ファイルを開かずに値だけ取得すること
もできます。
参考にそのコードを書いておきます。
(コピー元ブックのフルパスがstrSelectFileNameとして、それのSheet2シートの
値を「集計シート.xls」のSheet1に取得する例です。)
Sub Macro1()
strSelectFileName = "選択したファイル名(フルパス)"
strPath = Mid(strSelectFileName, 1, InStrRev(strSelectFileName, "\"))
strFileName = Mid(strSelectFileName, InStrRev(strSelectFileName, "\") + 1)
Windows("集計シート.xls").Activate
Sheets("Sheet1").Activate
For C = 2 To 4 'B列〜D列
For R = 18 To 28 '8行目〜28行目
With Cells(R - 14, C)
.Formula = "='" & strPath & "\[" & strFileName & "]Sheet2'!" & Cells(R, C).Address
.Value = .Value
End With
Next
Next
End Sub
|
|