お世話になっております。
下記のマクロについて、ご指導願います。
試作研究費マクロ.xlsというファイルのマクロについてです。
試作研究費明細作成マクロ1()を実行すると、試試作研究費マクロ.xlsというファイルに貼りつける
ファイルを選択できるようになっており、それを選択すると、試作研究費マクロ.xlsに貼りつけられる
仕組みになっているのですが、エラーになります。
、「コピー領域と貼り付け領域 の違いでデータを貼り付けることが出来ません。 」というメッセージが出てきて処理できません。


デバックによると、下から二行目のActiveSheet.Pasteの部分が黄色く塗りつぶされています。
最近エクセル2007にしたのですが、エクセル2000で作成したマクロは使えないのでしょうか?
エクセル2000の時は問題なくできていたのですが。
何が原因なのかわかりかねますので、ご指導の程、よろしくお願いいたします。




Sub 試作研究費明細作成マクロ1()
'
' 試作研究費明細作成マクロ1 Macro
' マクロ記録日 : 2011/11/11 ユーザー名 :
'

'
Dim myFile
myFile = Application.GetOpenFilename()
If myFile = False Then Exit Sub
Workbooks.Open Filename:=myFile
Cells.Select
Selection.Copy
Windows("試作研究費マクロ.xls").Activate
Cells.Select
ActiveSheet.Paste
Range("F11").Select
End Sub

このQ&Aに関連する最新のQ&A

A 回答 (1件)

Windows("試作研究費マクロ.xls").Activate


Cells.Selectを
Windows("試作研究費マクロ.xls").Activate
Range("A1").Selectにしてみては

この回答への補足

こちらもご回答ありがとうごいます。

ただ、同様のエラーメッセージが出て、できないですね。

マクロ難しいです↓

補足日時:2011/12/05 15:33
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qphotoshopを使ってA4→B5へ

photoshopを使用して、A4サイズをB5サイズに縮小したいです。
試しに300dpiでA4、B5のキャンバスを作り、A4をB5に合わせて
縮小したところ、7~9px程のずれが出ました。
A4とB5は等倍と思っていましたが違うのでしょうか?
ぴったりのサイズに縦横等倍で縮小する事は不可能でしょうか。
よろしくお願いします。

Aベストアンサー

画像解像度にもよりますが7~9ピクセルのズレだったら気にしなくてもいいと思います。

それでもキリを良くしたいのなら添付画像の赤丸の部分のチェックを全て外して
黄丸の箇所にB5の数値を入れればいいです。※単位を間違えないように。
A4をB5にするくらい(つまり、縮小する)だったら元絵を大きく崩さずに変形させられます。

ただそれでも、本来ピクセルはインチ計算ですから「mm」に置き換えた時点で小数点が出ます。
つまりはどうやってキリが良くはなりません。数ピクセルの誤差と同じです。
「ぴったりのサイズ」にはなりません。

---

ついでに、A列とB列は比率は同じです。
ただ、サイズ表に書かれている寸法数字は端数を切り捨ててたものです。
例えば「257mm」は「実際には257.5mm」です。
そうやって端数を切り捨てて小さなサイズを作ってきましたから
どこかで細かく比率が変わっているのは当然です。
が、それで今まで何十年も過ぎてきたのですから、それくらいは無視していいものです。
そう考えると300dpiの書類で7~9ピクセルのズレも問題にはならないと思います。
もともとがそれくらいアバウトなんですから。

画像解像度にもよりますが7~9ピクセルのズレだったら気にしなくてもいいと思います。

それでもキリを良くしたいのなら添付画像の赤丸の部分のチェックを全て外して
黄丸の箇所にB5の数値を入れればいいです。※単位を間違えないように。
A4をB5にするくらい(つまり、縮小する)だったら元絵を大きく崩さずに変形させられます。

ただそれでも、本来ピクセルはインチ計算ですから「mm」に置き換えた時点で小数点が出ます。
つまりはどうやってキリが良くはなりません。数ピクセルの誤差と同じです。
「ぴ...続きを読む

Q【Excel VBA】シートコピー時、マクロコードはコピーしたくない

ws.copy Before:=Workbooks(File).Sheets(1)
Windows(File).Activate
Cells.Select
Selection.copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

上記コードで、シートのコピー・貼付を行っていますが、
コピー元シートのコードも引き継がれてしまいます。
引き継がれないようにコピーしたいのですが、可能でしょうか?

可不可について、
可能ならばそのやり方(コード)を教えていただけないでしょうか?

よろしくお願いします。

Aベストアンサー

こんにちは

ご質問で求められている結果に対する理解が不充分かも知れませんが、
  シート(ws)のコピーを、ブック(file)Sheet1の直前に 挿入
  作成したシートの、数式の戻り値を 値に 直す
  シートモジュールのコピーを除いたコード、、、
というお話だと理解しました。


#2さんと殆ど同じなのですが、
元のシート(ws)の書式が新しいシートに反映されるようになってます。
コメントはコピーされますが、他のShapeは残りません。
もし、Shapeまでコピーするのでしたら、別途、ご質問されるとよいと思います。

#3も禁じ手と仰っていますが、
VBAのコードそのものを書き換える方法は、
それ以外に方法がない場合の非常手段だとしても、
余程パーソナルな用途でしか考えない方が良いです。
仕事で使うことが内規違反になる可能性もあるし、
使えない環境もありますので、
私も回答には書きたくないですね。

  ◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

Sub TEST()
Const sFile As String = "ファイル名.xls" ' ※
Dim ws As Worksheet ' ※

  Application.ScreenUpdating = False ' ※

  Set ws = ThisWorkbook.Sheets(1) ' ※

  With Workbooks(sFile).Worksheets
  With .Add(Before:=.Item(1))

    ws.Cells.Copy .Cells

    .UsedRange.Value = .UsedRange.Value

    .Activate

  Application.ScreenUpdating = True ' ※
'    MsgBox "Done" ' ※
'    .Delete ' ※
  End With
  End With
End Sub

  ◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇
     ' ※ の行は、便宜的な記述です。


ご質問と関係ないことを書くことを、お許し下さい。
どうしても書いておきたいので、、、

Wendy02 さん
あなたがいないと、困ります。
出来れば、考え直して頂きたいけれど、
多く学ばせて頂いた一人として、感謝しています。
ありがとう ござい ます!!

こんにちは

ご質問で求められている結果に対する理解が不充分かも知れませんが、
  シート(ws)のコピーを、ブック(file)Sheet1の直前に 挿入
  作成したシートの、数式の戻り値を 値に 直す
  シートモジュールのコピーを除いたコード、、、
というお話だと理解しました。


#2さんと殆ど同じなのですが、
元のシート(ws)の書式が新しいシートに反映されるようになってます。
コメントはコピーされますが、他のShapeは残りません。
もし、Shapeまでコピーするのでしたら、別途、ご質問されるとよ...続きを読む

Q2台のPCを接続し、A4のモニタを使い、B5のキーボードを使うのは可能?

現在ノートPCを2台持っています。
1台はA4.もう1台はB5です。
A4の方はキーボードが壊れていますので、普段はB5を使っています。でも画面が小さいのでA4を使いたいです。

そこで思ったのが、B5とA4をつないで、キーボードはB5を使って、モニタはA4を使えないのでしょうか?

そこまで可能なら、キーボードも外付けを買おうかと思っています。

まず可能なのでしょうか?

宜しくお願いします

Aベストアンサー

MAXIVISTAというソフトがあります。
これを使えばLAN経由で可能です。
私は,ノートPCのモニターをデスクトップPCのセカンダリーディスプレイとして使っています。
パソコンのリモートコントロールモードもありますので,お持ちの2台のパソコンは同時に使えるようになると思いますよ。

参考URL:http://www.maxivista.com/

Qオートフィルタで抽出後、マクロでコピー&貼り付け

初めまして、エクセル初心者です。
以下のマクロを、自動記録でやろうとすると、うまくいきません。
類似質問を検索してみたものの、初心者のためアレンジがきかず・・・
他力本願な質問になり、大変申し訳ないのですが、
どなたかお手すきのときに教えていただけると、
とてもうれしいです。

【やりたいこと】

(1)Book1のファイルで、
 オートフィルタでデータを抽出後、
 抽出したデータのBからDのセルをコピーし、
 別ファイル、Book2のファイルの、
 *BからDに「値」で貼り付けたい。

 *Book2のBからDは、
  上段までデータが入力してある状態で、
  そのすぐ下段(空白)のBからDへ貼り付けたい。

(2)Book1(コピー元ファイル)のEのセルに
 本日の日付を入れたい。


(3)Book2(コピー先ファイル)のFにも
 本日の日付を入れたい。


(4)マクロ終了後、カーソルは、Book2(コピー先のファイル)
 のGのセルに置いておきたい。


【補足】
抽出されるデータは一行のみです。


日中、上記の作業を手作業で繰り返していると、
頭がむず痒くなってくるもので、
何か良い方法はないものかと質問させていただきました。
以上、よろしくお願いいたします。

初めまして、エクセル初心者です。
以下のマクロを、自動記録でやろうとすると、うまくいきません。
類似質問を検索してみたものの、初心者のためアレンジがきかず・・・
他力本願な質問になり、大変申し訳ないのですが、
どなたかお手すきのときに教えていただけると、
とてもうれしいです。

【やりたいこと】

(1)Book1のファイルで、
 オートフィルタでデータを抽出後、
 抽出したデータのBからDのセルをコピーし、
 別ファイル、Book2のファイルの、
 *BからDに「値」で貼り付...続きを読む

Aベストアンサー

>類似質問を検索してみたものの、初心者のためアレンジがきかず・・・
>他力本願な質問になり、
>日中、上記の作業を手作業で繰り返していると、
>頭がむず痒くなってくるもので、
こういう書き込みはしない方がよいですよ
よく考えてください、勉強もしない、やる気も無い人に
赤の他人がアドバイスすると思いますか?

質問も中途半端
>以下のマクロを、自動記録でやろうとすると、うまくいきません。
何処がうまく行かないの?
やりたい事を書くのはよいが、マクロの質問なら
Excelのバージョン、コピー元、先のシート名
抽出もマクロでやるなら
どの列どのようなデータから何を抽出するのか
表の構成もあると回答がしやすい

Sub test()
Dim Rng As Range
With Workbooks("book1").Worksheets("sheet1")
.Range("a1").AutoFilter Field:=1, Criteria1:="3"
Set Rng = .Range("b2", .Range("b65536").End(xlUp)).SpecialCells(xlCellTypeVisible)
.Cells(Rng.Row, 5).Value = Date
Workbooks("book2").Worksheets("sheet2").Range("b65536").End(xlUp).Offset(1, 4).Value = Date
Rng.Resize(1, 3).Copy Workbooks("book2").Worksheets("sheet2").Range("b65536").End(xlUp).Offset(1)
End With
Workbooks("book2").Worksheets("sheet2").Activate
Range("b65536").End(xlUp).Offset(, 5).Select
End Sub

以上、示されていない所は適当に決めたので
このままでは、希望の結果はでないと思います
自分の環境に合わせてアレンジしてください
これを機に勉強されては如何かと思います
厳しいことを書きましたが、社会人として節度のある書き込みをすれば
識者の有用な回答が複数得られると思います

>類似質問を検索してみたものの、初心者のためアレンジがきかず・・・
>他力本願な質問になり、
>日中、上記の作業を手作業で繰り返していると、
>頭がむず痒くなってくるもので、
こういう書き込みはしない方がよいですよ
よく考えてください、勉強もしない、やる気も無い人に
赤の他人がアドバイスすると思いますか?

質問も中途半端
>以下のマクロを、自動記録でやろうとすると、うまくいきません。
何処がうまく行かないの?
やりたい事を書くのはよいが、マクロの質問なら
Excelのバージョ...続きを読む

QA4からB5へ

Word2003を使って書いたA4サイズの文章を、B5の用紙に印刷したいのです。
けれども、ページ設定でB5を選択して印刷すると、文章がA4サイズのままでB5用紙に印刷され、文字が足りなくったりして、きちんと印刷できません。
なんとかしたいのですが。

Aベストアンサー

特に変更しないのなら、#1さんもおっしゃるように印刷時にA4→B5に縮小するのが簡単です。
まあ、A4で印刷したものを縮小コピーするようなものです。
http://kokoro.kir.jp/word/sprint.html

今後も継続的に利用したり、内容を更新するなら、B5に合わせてレイアウトを変更し直さなければなりません。

参考URL:http://kokoro.kir.jp/word/sprint.html

Qマクロで別ファイルのシートコピーして、元ファイルに貼り付けを行なうには

VBA初心者です。こんなマクロを作りたいのですが・・・
(1) Aファイルのαシートから操作する。
(2) Bファイルを開いて、βシートの一部をコピー
(3) Bファイルを閉じる(保存なし・各種アラートなし)
(4) Aファイルに再び戻り、αシートに貼り付けする

といったものなのですが、
(2)まではできたのですが、(3)からうまくいかず、勝手に新規ファイルにβシートがコピーされてしまいます。
是非ご教授ください。

Aベストアンサー

A No.1とかぶっちゃいましたが、サービスでコード付ということで投稿させていただきます。
(1) Aファイル(マクロを記述してある)から操作する。
(2) Bファイルを開く
(3) Bファイルのβシートの一部をコピーして、Aファイルのαシートに貼り付けする
(4) Bファイルを閉じる(保存なし・各種アラートなし)
というワークフローにすれば、
(3)は、
Sub test()
Workbooks("Bファイル.xls").Sheets("β").Range("A1:B4").Copy ThisWorkbook.Sheets("α").Range("a1")
End Sub
で実現できます。(複写先範囲は適当にいじって下さい)

Qワード文書 B5→A4変換

B5で作成したMS Wordの資料を A4に一括で変換する方法はありますでしょうか?
文字と図が含まれておりますので自動的に、大きくしてくれる仕組みを想像してます。
もともとB5サイズで作成した資料が多数あるのですが、毎回B5用紙を用意するのが煩わしいので一括でA4にサイズ変更したい次第です。

Aベストアンサー

> B5で作成したMS Wordの資料を A4に一括で変換
基本的にできないことだと思ってください。

Wordでは指定した用紙サイズに配置するものであって、配置したものを
自動でサイズ変更するようなものではないからです。文字サイズから、
図のサイズおよび配置などは、Wordの基準であるページ(段落の位置)
の左上の位置からの距離で指定されているといえるからです。

A4用紙に変更するということは、拡大率に応じたフォントサイズの拡大
及び、図などの位置の修正が必要になります。
個々に修正することになるので、大変な作業になります。
マクロで処理するにしても、様々な要素があるWord文書は複雑であり、
無茶な処理といえるからです。

資料が印刷を目的にするだけなら、印刷用マクロを用意するか、PDFに
変換しておいて、そのPDFファイルを印刷するほうが効率的です。
https://msdn.microsoft.com/ja-jp/library/office/ff837331.aspx

マクロの例:

Sub PrintZoomPaper_A4()
'
' A4サイズに拡大して印刷
'
  ActiveDocument.PrintOut _
  PrintZoomPaperWidth:=11907, _
  PrintZoomPaperHeight:=16839

End Sub

> B5で作成したMS Wordの資料を A4に一括で変換
基本的にできないことだと思ってください。

Wordでは指定した用紙サイズに配置するものであって、配置したものを
自動でサイズ変更するようなものではないからです。文字サイズから、
図のサイズおよび配置などは、Wordの基準であるページ(段落の位置)
の左上の位置からの距離で指定されているといえるからです。

A4用紙に変更するということは、拡大率に応じたフォントサイズの拡大
及び、図などの位置の修正が必要になります。
個々に修正することになるので...続きを読む

Qイベントプロシージャからマクロ(VBA式で無い、バッチ形式の物=オブジェクトのマクロ?)を呼び出したいのですが

ACCESS2.0からACCESS97へデーターべース変換をし(完了し作動確認済み)
さらにACCESS97からACCESS2000へ97へデーターべース変換をしようとしています
ACCESS2.0時代から引き継いだマクロ(VBA式で無い、バッチ形式の物)を
イベントプロシージャから呼び出したいのですが

マクロ名;集計
イベントプロシージャ;
Docmd.RunMacro "集計"

実行すると

"指定した式にMicrosoft Accessが見つけることができない関数名が含まれています"
のエラーが出ます

ヘルプを見ると "Runcommand"を使うようなニュアンスなので

Docmd.Runcommnd acCmdMacro "集計"
に直すとコンパイルエラーになります


イベントプロシージャで全てを記述するより方法はないのでしょうか?

Aベストアンサー

> マクロ名;集計

これは、データベースウィンドウに表示されるオブジェクト名ですか?


> Docmd.RunMacro "集計"

この構文自体はあっていますので、マクロ名の部分で引っかかっていると
思います。

マクロ名を、他では絶対に使っていないような適当な名前に変更してみるとかで
確認してみてください。

QCanon LBP3970のB5サイズのプリント速度がA4サイズに比べて落ちることについて

 キヤノンのLBP3970(A4サイズのプリント速度:35枚/分)の購入を検討しているのですが、B5サイズにプリントするとA4サイズと比べて、紙がA4に比べて小さいので熱による故障を防ぐためにスピードを落とすようになっていると聞いたのですが、どなたか持っている方、B5サイズの10枚以上連続印刷したときにA4に比べてどのように変わるか知っている方、または試していただける方、教えてください。

 B5の印刷を多く行うのでA4の速度が速いだけでB5の速度が落ちるようであれば高速なプリンタを買っても意味がありません。どなたか協力していただける方、回答をお願いします。

Aベストアンサー

プリンタの修理屋です。

この辺りは詳細には伝えられていませんし、機械内部の温度状況によって対応していますので、一概にどのくらい落ちるかは分かりません。

取説によると、最終的には1.9枚/分程度まで落ちることになっています。

このプリンタに限らず、キヤノンのレーザープリンタでは特殊なフィルムを使った定着方法を使っています。大昔はSURF方式、最近はオンデマンド定着と呼んでいます。

普通の定着器ではアルミのパイプ(ローラー)の中にガラス管ヒーターを仕込んで、それを発熱させてアルミローラーの表面温度を上げ定着しています。
しかしながら、ヒーターと定着するローラーの表面の間に1cm+αの空間ができ、そこは輻射で伝わります。結果的にヒートアップに時間がかかる、大きな容量のヒーターが必要となったわけです。

そこでキヤノンは薄い特殊なフィルムのチューブの中にセラミックヒーターを仕込み、フィルム越しにほぼ直接紙を加熱するようにしました。
その結果、ヒーターの容量も小さくでき、立ち上がりの時間もゼロと言う機種が出来ました。

欠点もあります。
昔はフィルムのチューブを回転させると軸方向にずれてきて、フチが破れることがありました。このため高速化では少し遅れました。
もう一つは、紙に接することでヒーターの熱が奪われるため、ヒーターの温度変化が大きいこと。
特に幅の狭い厚紙を印刷すると、両端は浮いた形になり、熱が逃げないのですが、中央部分は用紙に接しているので温度が下がります。
温度ムラが出来て、伸縮差もでき、紙にある程度の圧力で押し付けられているので、セラミックヒーターが折れてしまうことがあります。

高速化し始めた頃の機種では時々発生していました。

速度を上げると、表面温度を上げるためにヒーターには大きな電流を通す必要があり、ヒーターの温度も上がります。
速度を下げると表面温度が低くても定着ができるようになります。
また、印刷の間にインターバルを取ってヒーターを均一に冷却することも出来ます。

その辺りの温度ムラをセンサで感知して速度を落としますので、実際は分からないというのが真実です。

ただ、昔の機種(LBP-1820)ではいきなり半分くらいの速度になりましたが、LBP3970では35→30→25→20・・・・と段階的に落としていきますので、10枚くらいでは大きな落ち込みも無いとは思います。


「そんな面倒なシステムを・・・・」と思われるかも知れませんが、省エネ効果と待ち時間が少なくなることは大きな要素ですし、役所を中心にA4、A3に統一する動きも定着してきたので、社会的に受け入れられているわけです。

プリンタの修理屋です。

この辺りは詳細には伝えられていませんし、機械内部の温度状況によって対応していますので、一概にどのくらい落ちるかは分かりません。

取説によると、最終的には1.9枚/分程度まで落ちることになっています。

このプリンタに限らず、キヤノンのレーザープリンタでは特殊なフィルムを使った定着方法を使っています。大昔はSURF方式、最近はオンデマンド定着と呼んでいます。

普通の定着器ではアルミのパイプ(ローラー)の中にガラス管ヒーターを仕込んで、それを発熱...続きを読む

Qマクロ ブックをマクロなしでコピー

いつもお世話になっております。
マクロのことで
2つ教えて頂きたく書き込みをさせて
いただきまいした。
よろしくお願いいたします。

ブックに何枚かシートがあり、
そのシートには全て同じマクロが入ってます。
このブックのシート全てを
マクロを削除し新しいブックにコピーをしたいです。
また、コピーをする際に
マクロがついているオブジェクト(ボタン)
もとってコピーをしたいです。

自力で調べたのですが
うまくわからずまた、こちらで質問
させていただきました。

よろしくお願いいたします

Aベストアンサー

こんにちは。

基本的には、#1さんのマクロでよいはずです。
マクロでマクロコードを操作するのは、ウィルスライクになるので、それは、掲示板で、あまり書くのは好ましくありません。

以下のコードを、標準モジュールに以下を入れてください。

使い方は、マクロを実行すれば、新しいブックにマクロなしで、コピーされます。
一つないし、複数のシート(作業グループ)を選択したものをコピーしたい場合は、以下の行頭の(')コメントブロックを外します。

 'Set sWh = ActiveWorkbook.Worksheets
 ''選んでコピー
 Set sWh = ActiveWindow.SelectedSheets

ただし、以下の現在のマクロは、ワークシート以外のグラフシートは、コピーできません。多少、以下のマクロには、いろんなシートの形態が混じると、問題が出てくるとは思いますが、通常の使用ならトラブルはないと思います。

---------------------------------------------

Sub SheetsCopy()
  Dim i As Integer
  Dim j As Integer
  Dim sh As Object
  Dim sWh As Sheets
  Dim msg As String
  'すべてコピー
  Set sWh = ActiveWorkbook.Worksheets
  
  ''選んでコピー
  'Set sWh = ActiveWindow.SelectedSheets
  
  With Workbooks.Add
    If i > .Worksheets.Count Then
      .Worksheets.Add After:=.Worksheets(.Worksheets.Count), _
      Count:=i - .Worksheets.Count
    End If
    j = 1
    For Each sh In sWh
      If TypeName(sh) = "Worksheet" Then
        sh.Cells.Copy .Sheets(j).Cells(1, 1)
      Else
        msg = msg & "," & sh.Name
      End If
      j = j + 1
    Next sh
  End With
  If Len(msg) > 2 Then
    MsgBox Mid(msg, 2) & " は現在のマクロではコピーできません。", 64
  End If
End Sub

こんにちは。

基本的には、#1さんのマクロでよいはずです。
マクロでマクロコードを操作するのは、ウィルスライクになるので、それは、掲示板で、あまり書くのは好ましくありません。

以下のコードを、標準モジュールに以下を入れてください。

使い方は、マクロを実行すれば、新しいブックにマクロなしで、コピーされます。
一つないし、複数のシート(作業グループ)を選択したものをコピーしたい場合は、以下の行頭の(')コメントブロックを外します。

 'Set sWh = ActiveWorkbook.Worksheets
 ...続きを読む


人気Q&Aランキング