Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


11612 / 13645 ツリー ←次へ | 前へ→

【15080】ファイルのデータコピーの後で・・・ ドライ 04/6/15(火) 11:37 質問[未読]
【15081】Re:ファイルのデータコピーの後で・・・ ぴかる 04/6/15(火) 11:45 回答[未読]
【15082】Re:ファイルのデータコピーの後で・・・ ぴかる 04/6/15(火) 11:49 発言[未読]
【15089】Re:ファイルのデータコピーの後で・・・ ドライ 04/6/15(火) 13:30 お礼[未読]
【15084】Re:ファイルのデータコピーの後で・・・ ちゃっぴ 04/6/15(火) 11:53 回答[未読]
【15090】Re:ファイルのデータコピーの後で・・・ ドライ 04/6/15(火) 13:39 質問[未読]
【15091】Re:ファイルのデータコピーの後で・・・ ちゃっぴ 04/6/15(火) 13:56 回答[未読]
【15094】Re:ファイルのデータコピーの後で・・・ ドライ 04/6/15(火) 14:16 質問[未読]
【15098】Re:ファイルのデータコピーの後で・・・ ちゃっぴ 04/6/15(火) 15:50 回答[未読]
【15145】Re:ファイルのデータコピーの後で・・・ ドライ 04/6/16(水) 13:07 質問[未読]
【15146】Re:ファイルのデータコピーの後で・・・ つん 04/6/16(水) 13:23 回答[未読]
【15149】Re:ファイルのデータコピーの後で・・・ ドライ 04/6/16(水) 13:52 お礼[未読]

【15080】ファイルのデータコピーの後で・・・
質問  ドライ  - 04/6/15(火) 11:37 -

引用なし
パスワード
   お世話になっております。
他のファイルを開いて、コピーした後、そのファイルを閉じるようにしました。
その時メッセージで、「クリップボードに大きな情報があります。この情報をほかの
プログラムに貼り付けられるようにしますか?…」と表示されるので、この表示を
しないような方法はありますか?

メッセージボックスは、「はい」をクリックし閉じています。

この作業がわずらわしいため、このメッセージが出なくなるようにしたいのですが。

色々検索したのですが、思うようなものが、なかなかHitしません。
よろしくお願いします。

Sub FileCopy()

  Workbooks.Open Filename:="D:\DATA111.xls"
  Columns("A:G").Select
  Selection.Copy
  Windows("DATA222.xls").Activate
  Range("A1").Select
  ActiveSheet.Paste
  Windows("DATA111.xls").Activate
  ActiveWorkbook.Close

End Sub

【15081】Re:ファイルのデータコピーの後で・・・
回答  ぴかる  - 04/6/15(火) 11:45 -

引用なし
パスワード
   ドライさん、こんにちは。

多分、↓でええんちゃうかと思います。
  Application.DisplayAlerts = False '警告メッセージオフにする

おまけ
  画面がパタパタしません。処理も速くなります。
  Application.ScreenUpdating = False  '画面固定

両方、必要に応じて =True を入れて下さい。

【15082】Re:ファイルのデータコピーの後で・・・
発言  ぴかる  - 04/6/15(火) 11:49 -

引用なし
パスワード
   >メッセージボックスは、「はい」をクリックし閉じています。
↑に対応しているか、???です。スンマセン、素人で・・・。

【15084】Re:ファイルのデータコピーの後で・・・
回答  ちゃっぴ  - 04/6/15(火) 11:53 -

引用なし
パスワード
   クリップボードを経由してコピーしているのが問題では?

ついでにSelect,Activateするのやめましょう!

Sub FileCopy()
  Dim wbkData1 As Workbook

  Set wbkData1 = Workbooks.Open Filename:="D:\DATA111.xls"
  wbkData1.Columns("A:G").Copy _
    Destination:=WorkBooks("DATA222.xls").Range("A1")
  wbkData1.close
End Sub

このソースで同じことが出来ると思います。

ちなみにクリップボードの内容消去はこれで出来ます。

Application.CommandBars(93). _
           Controls(4).Execute

クリップボードツールバーが出ていない場合はエラーになります。

【15089】Re:ファイルのデータコピーの後で・・・
お礼  ドライ  - 04/6/15(火) 13:30 -

引用なし
パスワード
   ▼ぴかる さんへ

早速の回答有難うございます。
私の、思っているとおりの動きをしました。
これで、面倒なメッセージが出なくなりました。

>>メッセージボックスは、「はい」をクリックし閉じています。
>↑に対応しているか、???です。スンマセン、素人で・・・。

メッセージボックスの「はい」に対応しています。
有難うございました。

今後ともよろしくお願い致します。

【15090】Re:ファイルのデータコピーの後で・・・
質問  ドライ  - 04/6/15(火) 13:39 -

引用なし
パスワード
   ▼ちゃっぴ さんへ

回答有難うございます。

>クリップボードを経由してコピーしているのが問題では?
>
>ついでにSelect,Activateするのやめましょう!
>
>Sub FileCopy()
>  Dim wbkData1 As Workbook
>
>  Set wbkData1 = Workbooks.Open Filename:="D:\DATA111.xls"
  コピペするとこの部分が赤字になってしまいコンパイルエラーになってしまいます。
  どの様になっているのですか?
>  wbkData1.Columns("A:G").Copy _
>    Destination:=WorkBooks("DATA222.xls").Range("A1")
>  wbkData1.close
>End Sub
>
>このソースで同じことが出来ると思います。
>
>ちなみにクリップボードの内容消去はこれで出来ます。
>
>Application.CommandBars(93). _
>           Controls(4).Execute
>
>クリップボードツールバーが出ていない場合はエラーになります。

なにぶん初心者なので、わからないことが多くてすみません。
よろしくお願いします。

動作環境:WIN98、EXCEL2000

【15091】Re:ファイルのデータコピーの後で・・・
回答  ちゃっぴ  - 04/6/15(火) 13:56 -

引用なし
パスワード
   >  コピペするとこの部分が赤字になってしまいコンパイルエラーになってしまいます。
>  どの様になっているのですか?
>>  wbkData1.Columns("A:G").Copy _
>>    Destination:=WorkBooks("DATA222.xls").Range("A1")

WorkSheetが抜けてました(;^_^A アセアセ・・・

wbkData1.WorkSheets(1).Columns("A:G").Copy 〜

マクロ記録するとSelectとかActivateが付いてくると思いますが、
片っ端から削除する方法を覚えましょう。

ほとんどの場合、SelectとかActivateは不要です。

Select,Activateすることによって、画面がちらつくし、
速度は低下するし、「百害あって一理なし」です。

【15094】Re:ファイルのデータコピーの後で・・・
質問  ドライ  - 04/6/15(火) 14:16 -

引用なし
パスワード
   ▼ちゃっぴ さん:

回答有難うございます。
しかし、私のところでエラーになるのは、下記の部位です。
書き方が悪くてすみませんです。

>  Set wbkData1 = Workbooks.Open Filename:="D:\DATA111.xls"
  コピペするとこの部分が赤字になってしまいコンパイルエラーになってしまいます。
  どの様になっているのですか?

よろしくお願いします。

>>  コピペするとこの部分が赤字になってしまいコンパイルエラーになってしまいます。
>>  どの様になっているのですか?
>>>  wbkData1.Columns("A:G").Copy _
>>>    Destination:=WorkBooks("DATA222.xls").Range("A1")
>
>WorkSheetが抜けてました(;^_^A アセアセ・・・
>
>wbkData1.WorkSheets(1).Columns("A:G").Copy 〜
>
>マクロ記録するとSelectとかActivateが付いてくると思いますが、
>片っ端から削除する方法を覚えましょう。
>
>ほとんどの場合、SelectとかActivateは不要です。
>
>Select,Activateすることによって、画面がちらつくし、
>速度は低下するし、「百害あって一理なし」です。

【15098】Re:ファイルのデータコピーの後で・・・
回答  ちゃっぴ  - 04/6/15(火) 15:50 -

引用なし
パスワード
   今日は相当ボケてるな〜ボケ〜

Set wbkData1 = Workbooks.Open(Filename:="D:\DATA111.xls")

変数に代入するときのメソッドの引数は括弧で囲みます。

というわけでマタネッ(^ー^)ノ~~Bye-Bye!

【15145】Re:ファイルのデータコピーの後で・・・
質問  ドライ  - 04/6/16(水) 13:07 -

引用なし
パスワード
   ▼ちゃっぴ さんへ

返信遅くなりましてすみません。

以下の処理を流すと----で囲んだ部分がエラーになってしまいます。
メッセージ内容
「実行時エラー'438':
 オブジェクトは、このプロパティまたはメソッドをサポートしていません。」

どうしてエラーになるのでしょうか?
よろしくお願いします。

Sub FileCopy()
  Dim wbkData1 As Workbook

  Set wbkData1 = Workbooks.Open(Filename:="D:\DATA111.xls")

--------------------------------------------------------------
  wbkData1.Worksheets(5).Columns("A:G").Copy _
    Destination:=Workbooks("DATA222.xls").Range("A1")
--------------------------------------------------------------

  wbkData1.Close
End Sub

【15146】Re:ファイルのデータコピーの後で・・・
回答  つん E-MAIL  - 04/6/16(水) 13:23 -

引用なし
パスワード
   こんにちは。
横から失礼します。

>メッセージ内容
>「実行時エラー'438':
> オブジェクトは、このプロパティまたはメソッドをサポートしていません。」
>--------------------------------------------------------------
>  wbkData1.Worksheets(5).Columns("A:G").Copy _
>    Destination:=Workbooks("DATA222.xls").Range("A1")
>--------------------------------------------------------------

 Workbooks("DATA222.xls").Range("A1")

この部分、ワークシートがすっ飛ばされてるからじゃないでしょうか?

 Workbooks(ブック名).Worksheets(シート名).Range("A1")

にしないと・・・

【15149】Re:ファイルのデータコピーの後で・・・
お礼  ドライ  - 04/6/16(水) 13:52 -

引用なし
パスワード
   つんさんの指摘どおりにしたところ思い通りに動きました。
ありがとうございました。

つんさん、ちゃっぴさん、ぴかるさん、色々ご教授有難うございました。
今後も、VBAを勉強し自分ひとりでプログラムができるようにしたいと
思います。
しかしながら、まだまだ分からないことがたくさん、たくさんあるので
教えていただきたいことがあると思いますので、よろしくお願いします。

皆さん有難うございました。

11612 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free