[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『セルのコピー&貼付』(TTC)
別ブックを開きセル全体をコピー、ThisWorkbookの指定のシートへ貼付 という部分を作成しているのですが、貼付のところがうまくいきません。 .Cells.Copy Destination:=MyWs1.Cells.PasteSpecial〜 のところで RangeクラスのPasteSpecialプロパティーを取得できませんと出ます。 PasteSpecialがなければうまくいくのですが...
録音等で行なえばコードを取得することができますが 以下のコードの貼付で形式を選択させることはできますでしょうか?
あと
.Range("A8").Select Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select Selection.AutoFilter この部分もすっきりできますでしょうか?
Sub 取り込み()
Dim 参照パス As String Dim Wb1 As Workbook, Wb2 As Workbook, Wb3 As Workbook Dim MyWs1 As Worksheet, MyWs2 As Worksheet, MyWs3 As Worksheet, ZeWs As Worksheet
参照パス = "\\10.164.64.54\投入庫\"
Application.DisplayAlerts = False
With ThisWorkbook
Set MyWs1 = .Worksheets("A") Set MyWs2 = .Worksheets("B") Set MyWs3 = .Worksheets("C") Set ZeWs = .Worksheets("全社")
End With
Set Wb1 = Workbooks.Open(参照パス & "予定.xls")
With Wb1
With .Sheets("予定")
.AutoFilterMode = False
.Cells.Copy Destination:=MyWs1.Cells.PasteSpecial(xlPasteValues + xlPasteFormats)
.Range("A8").Select Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select Selection.AutoFilter
'MyWs1.Cells.PasteSpecial Paste:=xlPasteFormats + xlPasteValues '↑これでもうまくいかない...
End With
End With
End Sub
よろしくお願いします。
CopyメソッドのDestinationは、普通のコピーのときの貼り付け先のRangeを指定するものです。 PasteSpecialを使うなら、 CopyメソッドのDestinationは使用しません。 copyメソッド→PasteSpecial メソッド とします。
マクロの記録と、ヘルプの 「PasteSpecial メソッド (Range オブジェクト) の使用例」 を参考にして下さい。
(INA)
INAさんありがとうございます。 ヘルプ等を見てみました。 .Cells.Copy 省略 With MyWs1 .Cells.PasteSpecial Paste:=xlPasteFormats + xlPasteValues End With
に変更してみましたが
PasteSpecialメソッドが失敗しました...となってしまいました。
いろいろコードを変えてみましたがうまくいきません どこに問題がありますでしょうか?
(TTC)
マクロの記録を参考にすれば、 >Paste:=xlPasteFormats + xlPasteValues このような操作は出来ないという事が分かると思います。
[ヘルプより] Paste 省略可能です。 指定範囲に何を貼り付けるかを指定します。 使用できる定数は、XlPasteType クラスの xlPasteAll、xlPasteFormulas、xlPasteValues、xlPasteFormats、xlPasteNotes、 xlPasteAllExceptBorders のいずれかです。既定値は xlPasteAll ~~~~~~~~
(INA)
二つは同時に出来ないということですね? 記録すると下のようになると思うんですが... 分からなくなってしまいました...
With MyWs1 .Activate .Cells.Select Selection.PasteSpecial Paste:=xlPasteFormats Selection.PasteSpecial Paste:=xlPasteValues End With
失敗してしまいます。
形式を指定しなければ最初のでよかったのですがオートシェイブがあって それが重なってしまうのです。書式設定で移動させなければ良いのですが その前の段階でそれだと困るのです。使わない方がよいですね...
(TTC)
> 失敗してしまいます。 何が? どのように?
セル全体をコピーするなら、シートごとコピーして、シート名を変更しては?
(INA)
「RangeクラスのPasteSpecialメソッドが失敗しました」とでました。
> セル全体をコピーするなら、シートごとコピーして、シート名を変更しては? 毎日行なうのですが出来ますでしょうか?同じシートがあったら上書きのように 出来ればよいのですが...
(TTC)
>毎日行なうのですが出来ますでしょうか? 意味が良く分かりませんが、できるはずです。 手作業をマクロの記録してみては? (INA)
INAさんありがとうございました。 前のシートを削除してからシートをコピーするようにしましたら できました。こちらの方がすっきりしました ありがとうございました。
(TTC)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.