[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『コピーのマクロについて教えて下さい。』(えんさ)
開発→挿入→ボタンでマクロのボタンを作りました。
それを押すと「予約管理表」というファイルの「日誌用」というシートの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/23(日) 18:36
また、値のみの貼り付けはどういった構文を付け足せばよろしいのでしょうか?
お手数をおかけしますが、よろしくお願いします。
(えんさ) 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.