お世話になっております。
下記のマクロについて、ご指導願います。
試作研究費マクロ.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と関連する良く見られている質問

QVBA マクロ実行時エラー’1004RangeクラスのPasteSpecialメソッドが失敗

マクロ実行時に、エラー’1004RangeクラスのPasteSpecialメソッドが失敗と表記され、マクロが実行されません。

マクロの内容は、任意の範囲をコピー、新規book追加し、
新規bookに(1)Paste:=xlPasteValues (2)Paste:=xlPasteColumnWidths (3)Paste:=xlPasteFormats の順に貼り付けし保存するものです。

いろいろ調べては見たのですが、当方初心者の為、わからずじまいです。お手数ではございますが、どなたかご教授願います。
下記にマクロ内容全部記載します。
よろしくお願いします。

*********************************************************
*********************************************************
Sub 日報別ファイルに保存したい1()
Worksheets("日報").Range("A3:AF36").Copy
With Workbooks.Add
Cells.Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Cells.Select
Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False

ApplicationDisplayAlerts = True '同名FILEが存在する場合'
ActiveWorkbook.SaveAs Filename:= _
"c:\日報\" & ActiveSheet.Range("J2") & "年" & ActiveSheet.Range("l2") & "月" & ActiveSheet.Range("n2") & "日_日報.xls" _
, FileFormat:=xlNormal
.Close file


End With

End Sub

マクロ実行時に、エラー’1004RangeクラスのPasteSpecialメソッドが失敗と表記され、マクロが実行されません。

マクロの内容は、任意の範囲をコピー、新規book追加し、
新規bookに(1)Paste:=xlPasteValues (2)Paste:=xlPasteColumnWidths (3)Paste:=xlPasteFormats の順に貼り付けし保存するものです。

いろいろ調べては見たのですが、当方初心者の為、わからずじまいです。お手数ではございますが、どなたかご教授願います。
下記にマクロ内容全部記載します。
よろしくお願いします。

***********...続きを読む

Aベストアンサー

こんにちは。

>結果、「ThisWorkbook」上の下記のマクロを削除すると、正常に動きだしました。
それは、Copy 範囲が、消えてしまうことで、PasteSpecial が利かなくなってしまうからです。

まず、シート名の長いコードは、これだけでよいはずです。

Private Sub Workbook_Activate()
 Select Case StrConv(Trim(ActiveSheet.Name), vbNarrow)
 Case "1" To "30", "日報"
  Application.Calculation = xlCalculationManual
 End Select
End Sub


-------------------------------------------
''もし、そのままでダメでしたら、 ' Application.EnableEvents = False 'イベントの介入を阻止する のところのコメント・ブロック('コードの手前のアポストロフィ)を外して、再度試してみてください。

Sub 日報別ファイルに保存したい2()
Dim myRng As Range
Set myRng = Worksheets("日報").Range("A3:AF36")
 ' Application.EnableEvents = False 'イベントの介入を阻止する

With Workbooks.Add
  myRng.Copy
 .ActiveSheet.Range("A1").PasteSpecial Paste:=xlPasteValues, _
             Operation:=xlNone, SkipBlanks:=False, Transpose:=False
  myRng.Copy
 .ActiveSheet.Range("A1").PasteSpecial Paste:=xlPasteColumnWidths, _
             Operation:=xlNone, SkipBlanks:=False, Transpose:=False
  myRng.Copy
 .ActiveSheet.Range("A1").PasteSpecial Paste:=xlPasteFormats, _
             Operation:=xlNone, SkipBlanks:=False, Transpose:=False
 
  Application.CutCopyMode = False
 
 ApplicationDisplayAlerts = True '**これは、そのままでは必要ないはずです。'
 
 ActiveWorkbook.SaveAs Filename:="c:\日報\" & ActiveSheet.Range("J2") & "年" & _
                 ActiveSheet.Range("l2") & "月" & _
                 ActiveSheet.Range("n2") & "日_日報.xls", _
                 FileFormat:=xlNormal
 .Close file
End With
Set myRng = Nothing
'Application.EnableEvents = True 'イベントマクロの活動を戻す

End Sub

こんにちは。

>結果、「ThisWorkbook」上の下記のマクロを削除すると、正常に動きだしました。
それは、Copy 範囲が、消えてしまうことで、PasteSpecial が利かなくなってしまうからです。

まず、シート名の長いコードは、これだけでよいはずです。

Private Sub Workbook_Activate()
 Select Case StrConv(Trim(ActiveSheet.Name), vbNarrow)
 Case "1" To "30", "日報"
  Application.Calculation = xlCalculationManual
 End Select
End Sub


-----------------------------------------...続きを読む

Q実行時エラー'-2147467259(80004005)':

エクセルからADOでアクセスに繋ごうとしたときに
実行時エラー'-2147467259(80004005)':
マシン'マシン名'のユーザー'Admin'がデータベースを開けない状態、またはロックできない状態にしています。

というエラーが出てしまいます。

書いているコードは以下です。

Public cn As ADOdb.Connection
Set cn = New ADOdb.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=test.mdb"



test.mdb自体はテーブルもクエリもフォームも何も開いていない状態です。
一度アクセスを終了させて再起動させればうまくできるのですが、何が原因でこのメッセージが出るのでしょうか?
もしわかれば教えてください。
よろしくお願いします。

Aベストアンサー

Accessで、test.mdbを開いた状態(テーブルも、クエリも、フォームも何も開かない状態)で、ExcelからADOで接続しようとすると、
「-2147467259"は既に使用されているので、使用できませんでした。」
というエラーが再現されました。(当方Office2000Pro)
そういうものなのでしょう。
何をなさりたいのですか?
AccessからExcelを起動して、データの移し替えをしたり、レポート代わりに印刷させたりという方法ではダメなのでしょうか?
何をしたいかという、切り口で質問をされてはいかがですか。

QVBAの実行時エラー'2522'について

前任者がAccess2003により作成したデータベースがあります。
CSVデータを取り込む仕組みがあるのですが、下記のエラーが出て困っています。

実行時エラー '2522':
このアクションまたはメソッドを実行するには[File Name/ファイル名]引数が必要です。

どうやらVBAによるエラーだと判明しましたが、それ以上はよくわかりません。
以下のような構文になっています。

Option Compare Database
----------
Private Sub CSV取込_Click()
TextConv strFileName, "マスター定義", "T_マスター"
End Sub
----------
Sub TextConv(strFle, strInp, strTbl)
Dim strSQL As String
strSQL = "DELETE * FROM " & strTbl
If MsgBox("テーブルデータを更新しますか?", 4, "テーブル更新") = vbYes Then
CurrentProject.Connection.Execute strSQL
DoCmd.TransferText acImportDelim, strInp, strTbl, strFle, True
MsgBox "テーブルデータを更新しました"
End If
End Sub
----------
Private Sub 参照_Click()
Dim strFileName As String
strFileName = GetFileName()
If Len(strFileName) > 0 Then
Me.filepath = strFileName
Else
MsgBox "取込対象ファイルを選択してください! "
End If
End Sub

以上のようになっています。
デバッグを実行すると「strFle」の値がEmptyになっているのでここだとは思うのですが、どうしたらよいかわかりません。
どなたかお知恵をお貸し願えませんでしょうか。
宜しくお願いします。

前任者がAccess2003により作成したデータベースがあります。
CSVデータを取り込む仕組みがあるのですが、下記のエラーが出て困っています。

実行時エラー '2522':
このアクションまたはメソッドを実行するには[File Name/ファイル名]引数が必要です。

どうやらVBAによるエラーだと判明しましたが、それ以上はよくわかりません。
以下のような構文になっています。

Option Compare Database
----------
Private Sub CSV取込_Click()
TextConv strFileName, "マスター定義", "T_マスター"
End ...続きを読む

Aベストアンサー

Private Sub CSV取込_Click()
  TextConv Me.filepath "マスター定義", "T_マスター"
End Sub
でしょうか?

> Option Compare Database
の次に
Option Explicit
を追加すると、このようなエラーは発見しやすくなります。

VBEの画面で
[ツール] - [オプション] - [編集]タブで
「変数の宣言を強制する」にチェックを入れると
新しく作成するモジュールでは
自動で「Option Explicit」が挿入されるようになります。

QWord起動時のエラー「実行時エラー'5'」

実家のPCのエラーのご相談です。
あと1時間ほどで帰宅するのでその前にアドバイスをいただけると、、、

◆トラブル内容:

ワードを立ち上げようとすると
Microsoft Visual Basicのエラー表示がでます。
このエラーが出ないようにしたいのですが、
方法がわからず、お力添えをお願いします。

◆エラー内容:

実行時エラー'5':
プロシージャの呼び出し、または引数が不正です。

終了およびヘルプボタンのみ有効です。
ヘルプボタンを押すとヘルプの該当項目が表示されます。


◆ヘルプの内容:

プロシージャの呼び出し、または引数が不正です。(Error 5)
呼び出しの一部が完成できません。エラーの原因と対処方法を次に示します。

引数が許容値の範囲を超えている可能性があります。たとえば、Sin 関数で扱える値の範囲は決まっています。2,147,483,648 未満の値は有効ですが、2,147,483,648 ではエラーになります。
引数に指定できる値の範囲を確認します。

現在のプラットフォームで無効のプロシージャを呼び出そうとするときにも、このエラーが発生します。たとえば、Microsoft Windows または Macintosh のみで使用できるプロシージャなどがあります。
プロシージャについてのプラットフォーム固有の情報を確認します。

詳細については、目的の項目を選択して F1 キー (Windows) または Help キー (Macintosh) を押してください。

                          以上コピペ終わり


マクロで見たことのあるエラー表示ですが、エクセルマクロでは
デバッグで凌いだり、不要なマクロはモジュールの解放等と、多少の
対処法を学んだのですが、ワードマクロはまったく未経験でヘルプの内容も
理解出来ません。

親孝行の真似事でも出来れば、と質問致しました。
御力添えをお願いします。

実家のPCのエラーのご相談です。
あと1時間ほどで帰宅するのでその前にアドバイスをいただけると、、、

◆トラブル内容:

ワードを立ち上げようとすると
Microsoft Visual Basicのエラー表示がでます。
このエラーが出ないようにしたいのですが、
方法がわからず、お力添えをお願いします。

◆エラー内容:

実行時エラー'5':
プロシージャの呼び出し、または引数が不正です。

終了およびヘルプボタンのみ有効です。
ヘルプボタンを押すとヘルプの該当項目が表示されます。


◆ヘルプ...続きを読む

Aベストアンサー

これ・・・でしょうか?
http://support.microsoft.com/kb/267572/ja

Q実行時エラー'424' オブジェクトが必要です???

いつもお世話になっております。
プロシージャに下記のように記入しましたところ、
表題の「実行時エラー'424' オブジェクトが必要です」と出てしまいます。小生独学の初心者です。よろしくご指南ください。

前略~
Dim sh1 As Worksheet
Set sh1 = Active.Worksheet
~後略

Aベストアンサー

[Active.Worksheet]とは書きません。

Set sh1 = ActiveSheet


人気Q&Aランキング

おすすめ情報