• ベストアンサー

エクセル 別ファイルの情報を取り込むマクロ

エクセル初心者です。上級者の方には簡単だと思うのですが 私にはどうやってもできないので教えて下さい。 Aというエクセルソフトがあります。これにデスクトップに一時保管したエクセルのファイルを開き(名前不特定)、シートの全体をコピーしたものをAのシート1に貼り付けをする方法はありますか? この後Aで貼り付けた情報を加工していくことになります。 今はいちいち手作業でコピー&ペーストしてますが 他の人も使うことになったので、マクロで処理できれば・・と思っています。よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

こんなのはどでしょうか? デスクトップ上のファイルを選択させて、Sheet1にコピーします。 選択されたブックのどのシートをコピーするのかわからないので、Sheet1をコピーします。 開いた時に最初に表示するシートをコピーする場合は、 wb.Sheets("Sheet1").Cells.Copy・・・ の行を削除して、 wb.ActiveSheet.Cells.Copy・・・ の行を有効にしてください。 Sub sample() Dim OpenFileName As Variant Dim wb As Workbook 'カレントパスをデスクトップにする ChDir CreateObject("WScript.Shell").SpecialFolders("desktop") 'ファイルを開くダイアログ OpenFileName = Application.GetOpenFilename(FileFilter:="Microsoft Excelブック,*.xls") 'キャンセルが選ばれた? If OpenFileName = False Then '終了 Exit Sub End If 'このブックのSheet1をクリア ThisWorkbook.Sheets("Sheet1").Cells.Clear 'ワークブックを開く Set wb = Workbooks.Open(OpenFileName) '選択されたブックの特定のシート(たとえばSheet1)をコピーする場合 wb.Sheets("Sheet1").Cells.Copy Destination:=ThisWorkbook.Sheets("Sheet1").Cells(1, 1) '選択されたブックの最初に表示するシートをコピーする場合 'wb.ActiveSheet.Cells.Copy Destination:=ThisWorkbook.Sheets("Sheet1").Cells(1, 1) '閉じる wb.Close End Sub

richio
質問者

お礼

ありがとうございました。完璧です!! すっごく助かりました。

関連するQ&A

  • エクセル コピー ペースト 形式 すべて  マクロ

    エクセルの同じシート内で、セルをコピーし、他のセルにペーストするマクロを利用しております。 Worksheets("data").Range("A45").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False しかし、このマクロでは、ペーストする際に、「形式を選択して貼り付け」の「値」のみが貼り付けられてしまいます。 数式を残した状態でペーストしたいので、「すべて」の状態で貼り付け希望です。 なお、このシートは表示しない状態で使用するため、シートを選んでセルを選択してコピーする方法はできません。(マクロでエラーとなってしまいます。) どうか、よろしくお願いします。

  • Excelマクロ 別シートへ連続コピペの方法

    Excelマクロ初心者です。 現在以下のような作業をマクロを組もうとしています。 シート1のA3:A9の数値をコピー→シート1の右隣のシート(仮にシート2とします)のC3:C9へペースト→シート1へ戻りB3:B9の数値をコピー→隣の隣のシート(仮シート2の右隣のシート)のC3:C9へペースト というのをシート1のAA3:AA9まで繰り返したいです。 こういうマクロを組むのは可能なのでしょうか? もし組めるとしたらどのように組めばいいか教えて頂きたいです。 よろしくお願いします。

  • エクセル マクロ

    エクセル マクロで、シート1のA1セルないの文字列(数式)をクリックボードにコピーするマクロを組みたいのですが、セルのコピーは出来るのですが、文字列のみコピーが出来ません。貼り付けは任意でするので必要ないです。 初心者で何もわかりません。よろしくお願いします。

  • エクセルで別ファイルのシートの貼り付けマクロ

    マクロ初心者です。よろしくお願いします。 excelファイルのシートに同じシート名csvファイルのデーターの貼り付けをしたいのです。 ↓詳しくは。 excelファイルがあります。(ファイル名:全社) シート名=集計、1、2、3、4、5、6、7、8、9、10(固定) csvファイルがあります。1~始まり数は変動(1~3だったり、1~7とか) 1ファイル=1シート、ファイル名とシート名は同じ excelファイルのシート(1~10)に、開いたcsvファイルの同じシート名(1~10)のデータを貼り付けたい。 毎回コピー・貼り付けの繰り返し作業なので、マクロ作成を試しているのですが、うまくいきません。 教えてください。お願いします。

  • エクセルマクロ

    入力したワークシートを 新しいブックにコピーして保存するマクロを作成しました。 ただ下記の様に保管すると、 数式もそのまま元のエクセルファイルの数式を参照してしまいます。 下記のマクロをあまり変更しないで、 値貼付け(もしくは値貼付けしながら、新しいブックへコピー) するにはどの様に変更するといいでしょうか? よろしくお願いします。 'Sub newfilesave() Sheets("Sheet1").Copy '名前を付け、ファイル形式も決めてデスクトップに日付を付けて保存する。。 'ActiveWorkbook.SaveAs _ ' Filename:="C:\Users\xxxxx\Desktop\" & Format(Now(), "yyyymmdd_hhmm"), _ ' FileFormat:=xlOpenXMLWorkbook 'End Sub

  • エクセルのマクロ

    素人なのですみませんが教えてください エクセルのマクロを使用して エクセルを起動して ウィンドウズ内のあるフォルダ内のエクセルファイルをコピーをして違うフォルダに貼り付けをしたいのですが、どのようにマクロを組み込むのか教えてください(マクロの式) (例)エクセル起動後エクセルのマクロにて c\Aフォルダ\aファイル←コピー c\Bフォルダ\aファイル←貼り付け

  • エクセルマクロ Vlookupに似たマクロはありますか?

    度々すみません。 わからない事がいくつか出てきてしまって。どなたかご教示いただけると嬉しいです。 今は手作業で以下のような作業をしております。 データ元のシート(以下(1))とそれ加工して作るシート(以下(2))があります。 (1)のデータを2度sortするのですが、一度目のsortでtotalが入っている行は全てdelete。 残ったデータでもう一度sortし、種類別に並び変えます。 その後、コラムAがUSDである物はシート(2)のUSDページに貼り付け、コラムAがEURであればシート(2)のEURページに貼り付け・・・としていきたいのですが、マクロの記録を使おうにも、毎回コラムAは目視で確認しコピー・貼り付けをしていますのでマクロの記録は使えないですし、エクセル関数ではVLOOKUPがありますが、それをマクロに書き込む方法もどこにも載っておらず、どうしていいか息詰まった状態です。 sortするのはマクロの記録を使って作成できましたので、 ・コラムAがtotalになっている行より下はdelete ・コラムAがUSDならシート(2)のUSDシートへ貼り付け・・・ のマクロを作成したいです。 どうか宜しくお願い致します。

  • 貼り付けをマクロで禁止させたい。

    エクセルで上司のスケジュール表を作りました。 1シート1か月分で別シートに祝日の関数を用意して特定のセルに年を入れると各月のシートの土日祝日のセルに色が付くように書式設定してあります。 これは私だけではなくほかの数人もスケジュールを入力しているのですが、あまりエクセルが詳しくない人がいて、複数人の上司について同じ予定がある際、コピー&ペーストしてしまうことで書式も一緒に貼り付けされてしまいます。 この質問集の中では同様の質問でペーストのショートカットと右クリックででる貼り付けを潰してしまうマクロが出ていて参考にしたのですが、ツールバー?(2007でいうリボン?)のところの貼り付けは可能のままです。リボンの貼り付けも潰してしまうマクロもしくは形式を選択して貼り付け→値を強制的に行うマクロをご存知の方がいたら教えていただけませんでしょうか?宜しくお願いします。 OSはXP,エクセルは2007をしようしています。 

  • エクセルのブック間のコピペのマクロ構文を教えて下さい

    はじめまして。 マクロは初心者なので、ご教授いただけるとありがたいです。 エクセルのワークブック1のシート1をコピーして、ワークブックAのシートaにペーストをする構文をお願いします。 マクロの記録で作って実行してみましたが、コピーするファイルが開いているときはうまくいって、開いていないとないとうまくいきませんでした。 コピーするファイルが開いていない状態でもコピーできる方法はないのでしょうか… よろしくお願いいたします。

  • エクセル2000のマクロについて教えてください。

    実は、今日会社で失敗したのですが、エクセルのマクロ実行をしたら、エラー で実行中断となってしまいました。 ワークシートから別のワークシートへコピー&ペーストして印刷というマクロを組みたかったのですが、エラー内容は、 Active Cell Offset(-7,-14).Range("A1:AN15")selectです。 元のワークシートのセル位置と、コピーするワークシートのセル位置は同じ場所でないといけないのでしょうか? セルは同じ数とっているはずなのですが。何回かやってみて、 へんな場所にペーストされて、印刷までは出来たこともあるのですが、何がちがうのだろー。。解らない(;;) だれか教えてください!!!

専門家に質問してみよう