[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『マクロの実行時エラー1004』(辛太)
マクロを記録し、実行すると『実行時エラー’1004’RaggeクラスのPasteSpecialメソッドが失敗しました。』になります。
再度実行すると流れます。
マクロは、以下の通りです。
形式を選択して貼り付け、値 です。
Range("A3").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False
如何すればいいのでしょうか?お教え下さい!!
【Excel2002 WindowsXP です】
どこかのセル(セル範囲)をコピーした後に、 マクロの記録を開始して貼り付ける動作だけ記録したのではないですか? マクロ実行前にコピーを行っても、クリップボードがクリアされ、 「貼り付けるものがないよ」と注意されているわけです。 記録の最中はクリップボードがクリアされないので、貼付動作だけが記録 できます。 「再度実行すると流れ」るのはなぜかわかりませんが、 セルをコピー、VBE側でコードの実行という手順でやれば動きます。 Selection.Copy この一文を追加して、コピーする範囲を選択してからこのマクロ実行という ことではいかがでしょう。 (KAMIYA)
面倒でも、もう一度見てください。宜しくお願い致します。
Sub Macro1()
'
' Macro1 Macro
' マクロ記録日 : 2004/4/18 ユーザー名 : 辛太'
'
Range("D6:D146").Select Selection.Copy Sheets("コピー先").Select ActiveSheet.Unprotect Range("A3").Select *エラーになる箇所 Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False *ここまで
Sheets("コピー元").Select Range("B6:C146").Select Selection.Copy Sheets("コピー先").Select Range("B3").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False
Sheets("コピー元").Select Range("E6:E146").Select Selection.Copy Sheets("コピー先").Select Range("D3").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False
Sheets("コピー元").Select Range("F6:G146").Select Selection.Copy Sheets("コピー先").Select Range("F3").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False
Sheets("コピー元").Select Range("H6:I146").Select Selection.Copy Sheets("コピー先").Select Range("I3").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False
Range("A2:J143").Select Selection.Sort Key1:=Range("A3"), Order1:=xlAscending, Key2:=Range("B3") _ , Order2:=xlAscending, Key3:=Range("D3"), Order3:=xlAscending, Header:= _ xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ SortMethod:=xlPinYin, DataOption1:=xlSortNormal, DataOption2:= _ xlSortNormal, DataOption3:=xlSortNormal
Range("A1:I1").Select ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True End Sub
ちょっと忙しいので、検証までできないのですが、 Sheets("コピー先").Select ActiveSheet.Unprotect Sheets("コピー元").Select Range("D6:D146").Select Selection.Copy Sheets("コピー先").Select Range("A3").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False このような順番でやるとうまくいきませんか? ActiveSheet.Unprotect でカットアンドコピーモードがキャンセルされているからだと思いますが。 (KAMIYA)
行頭に半角スペースがあると改行したとおりに 表示されます。 最初の一行に半角スペースがあれば、 次の空白行まで書き込みしたとおりの レイアウトになるようです。
←半角スペースがなく、↑空白行があると(ここで改行してます)
このように段落分けされ、改行しても連続行になります。
←半角スペース追加で(ここで改行してます) このように改行レイアウトになります。 (KAMIYA)
有難う御座いました。
(辛太)
こんにちは。
お願いしたいですが、
Access VBA で 計算式を除いてエクセルファイルからのデータをコピーしているですが、
oApp.Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False その所に「error 1004 Range クラスのPasteSpecial メソッドが失敗しました。」というエラーが発生してきました。 原因を色々探してみましたが、解決できる方法はまだ見つかりませんでした。
もし、解決できる方法があれば、教えていただきたいです。
宜しくお願い致します。
カイ ス ワイン
Dim MyBook As String
Dim oApp As Object Set oApp = CreateObject("Excel.Application") 'Dim xlRange As Excel.Range Dim objBook 'ExcelBook Dim objSheet
oApp.Workbooks.Open FileName:="D:\Khine Su Win\色々テスト\File Copy\売上高集計-中間F.xlsx", _ UpdateLinks:=0 oApp.ActiveWorkbook.Save oApp.ActiveWindow.Close
'new
'指定のエクセルファイルを開く oApp.Workbooks.Open FileName:="D:\Khine Su Win\色々テスト\売上高集計-配布用.xlsx" oApp.Workbooks.Open FileName:="D:\Khine Su Win\色々テスト\File Copy\売上高集計-中間F.xlsx", _ UpdateLinks:=0
'エクセル操作
oApp.Windows("売上高集計-配布用.xlsx").Activate oApp.Sheets("売上高-出荷").Select oApp.ActiveSheet.Unprotect oApp.Windows("売上高集計-中間F.xlsx").Activate oApp.Sheets("売上高-出荷").Select oApp.Range("A1:AK614").Select oApp.Selection.Copy oApp.Windows("売上高集計-配布用.xlsx").Activate oApp.Sheets("売上高-出荷").Select oApp.Range("A1").Select エラー発生している所 oApp.Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False
oApp.Windows("売上高集計-中間F.xlsx").Activate oApp.Sheets("売上高-出荷").Select oApp.Range("A1:AK614").Select oApp.Application.CutCopyMode = False
oApp.Selection.Copy oApp.Windows("売上高集計-配布用.xlsx").Activate oApp.Sheets("売上-受注").Select oApp.Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False oApp.Range("A1").Select oApp.Sheets("売上高-出荷").Select oApp.Range("A1").Select oApp.Application.CutCopyMode = False
oApp.ActiveWorkbook.Save oApp.ActiveWindow.Close oApp.Sheets("売上高-出荷").Select oApp.Range("A1").Select oApp.ActiveWorkbook.Save oApp.ActiveWindow.Close
'?Aエクセルを終了します oApp.Quit (カイ) 2015/05/15(金) 16:31
なぜ他人の質問につけているのかわからないが。
気になったところだけ。 (これで問題が解決するかは不明)
モジュールの先頭に Option Explicit を付けてデバッグ-コンパイルを行うとxlNoneがエラーにならないか?
「xlNone」はExcelで定義されている定数なのでAccessでは定義されていないと思うが。
こちらで確認すると「xlNone」は「-4142」のようなので Operation:=xlNone 部分を Operation:=-4142 としてはどうだろうか? (ねむねむ) 2015/05/15(金) 16:53
でもって、Excelの定数関連を使うならば、参照設定で「Microsoft Excel x.x Object Library」をチェックしてみては?
(???) 2015/05/15(金) 17:11
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.