[[20141121134825]] 『コピーのマクロについて教えて下さい。』(えんさ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『コピーのマクロについて教えて下さい。』(えんさ)

開発→挿入→ボタンでマクロのボタンを作りました。
それを押すと「予約管理表」というファイルの「日誌用」というシートのE3:G34までがコピーされるように「マクロの記録」で作ったのですが、「予約管理表」のシートを動かしてから上手く動作しなくなってしまいました。
これが↓そのマクロなのですが、どなたか直し方を御教授下さい。
また、「変更を保存しますか?」→「いいえ」
   「クリップボードに大きな情報があります・・・」→「はい」
と流れは決まっているので、それを省けるのであれば省きたいです。
宜しくお願いいたします。

Sub 転送()
'
' 転送 Macro
'

'

    Workbooks.Open Filename:="\\LANDISK-01BA69\disk\西\予約管理表 2014.11.22.xlsm"
    Range("E3:G36").Select
    Selection.Copy
    ActiveWindow.Close
    Range("B3").Select
    ActiveSheet.PasteSpecial Format:="Unicode テキスト", Link:=False, _
        DisplayAsIcon:=False, NoHTMLFormatting:=True
    Range("B3").Select
End Sub

< 使用 Excel:Excel2013、使用 OS:Windows7 >


こんにちは

Sub 転送()

    Dim wBK As Workbook
    Dim wSH As Worksheet
    Dim mSh As Worksheet

    Set mSh = ActiveSheet

    Set wBK = Workbooks.Open(Filename:="\\LANDISK-01BA69\disk\西\予約管理表 2014.11.22.xlsm")

    Set wSH = wBK.Worksheets("日誌用")

    wSH.Range("E3:G36").Copy
    mSh.Range("B3").PasteSpecial Format:="Unicode テキスト", Link:=False, _
        DisplayAsIcon:=False, NoHTMLFormatting:=True

    Application.CutCopyMode = False
    wBK.Close False
End Sub

試してないですけど、こんな感じでしょうか。

(ウッシ) 2014/11/21(金) 14:35


(ウッシ)様

早速の返答ありがとうございます。
試してみたのですが

Sub 転送() の部分が反転し「名前付き引数が見つかりません」となってしまいます。
これはどうすべきなのでしょうか?
(えんさ) 2014/11/21(金) 15:18


こんにちは

最初のコードは「マクロの記録」で作ったものなんですよね?

PasteSpecial Format:="Unicode テキスト", Link:=False, _

        DisplayAsIcon:=False, NoHTMLFormatting:=True

の引数の問題です。

マクロにもう一度記録して、変更して下さい。

(ウッシ) 2014/11/21(金) 15:34


(ウッシ)様
申し訳ございませんが、仰っている事の意味が理解できない状態です。
マクロの記録からやり直して、先ほどの構文に書き直してみたのですがやはり「名前付き引数が見つかりません」となってしまいます。

ボタンにマクロを登録し、上手い事上記の様にコピペが出来れば良いだけなのですが、
何か良い方法があったら教えていただけませんでしょうか?

宜しくお願いいたします。

(えんさ) 2014/11/21(金) 15:46


こんにちは

Sub 転送()

    Dim wBK As Workbook
    Dim wSH As Worksheet
    Dim mSh As Worksheet

    Set mSh = ActiveSheet

    Set wBK = Workbooks.Open(Filename:="\\LANDISK-01BA69\disk\西\予約管理表 2014.11.22.xlsm")

    Set wSH = wBK.Worksheets("日誌用")

    wSH.Range("E3:G36").Copy
    mSh.Range("B3").PasteSpecial 

    Application.CutCopyMode = False
    wBK.Close False
End Sub

名前付き引数なしのデフォルトで実行してみて下さい。

(ウッシ) 2014/11/21(金) 15:54


ウッシ様、自分もマクロに関してはほぼ無知な状態で何をどう説明したらいいのかもわからないのです。
「ボタンにマクロを登録し、上手い事上記の様にコピペが出来れば良いだけなのですが」←これはやってみたのですが先ほどの通り、「名前付き引数が見つかりません」となってしまいます。
最後に回答いただいたものは、後日また会社でためしてみたいと考えております。
色々と面倒に思えるかもしれませんが、困っていますのでどうか宜しくお願いいたします。
えんさ)
(えんさ) 2014/11/21(金) 20:12

こんばんは

元々の転送というマクロを消して入れ換えるだけです。

デザインモードにしてボタンを右クリックして登録
されているマクロが転送マクロになっていれば動く
と思うのですが。

(ウッシ) 2014/11/23(日) 18:36


ウッシ様
本日、教えていただいたマクロを登録しためしてみました。
動作としては問題なさそうに思えたのですが、日誌用というシートのE3:G36をコピーするはずが、なぜかコピー範囲がB3:D36のものが貼り付けられてしまいます。これってなぜなのでしょうか?

また、値のみの貼り付けはどういった構文を付け足せばよろしいのでしょうか?
お手数をおかけしますが、よろしくお願いします。

(えんさ) 2014/11/26(水) 18:27


こんにちは

値の転記の場合は、

Sub 転送()

    Dim wBK As Workbook
    Dim wSH As Worksheet
    Dim mSh As Worksheet
'
    Set mSh = ActiveSheet
'
    Set wBK = Workbooks.Open(Filename:="\\LANDISK-01BA69\disk\西\予約管理表 2014.11.22.xlsm")
'
    Set wSH = wBK.Worksheets("日誌用")
'
    With wSH.Range("E3:G36")
        mSh.Range("B3").Resize(.Rows.Count, .Columns.Count).Value = .Value
    End With
'
    wBK.Close False
End Sub

コピー範囲が違う原因はちょっと分かりません。

(ウッシ) 2014/11/27(木) 14:49


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.