Excel VBA質問箱 IV

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

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


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

【13376】Open Filename:について YN61 04/5/3(月) 21:07 質問[未読]
【13380】Re:Open Filename:について Asaki 04/5/3(月) 22:26 回答[未読]
【13390】Re:Open Filename:について YN61 04/5/4(火) 8:23 お礼[未読]

【13376】Open Filename:について
質問  YN61  - 04/5/3(月) 21:07 -

引用なし
パスワード
   Open Filename:について

 Book1のデータをBook2のシートに転送・貼り付けをするコードを作成する時
 Book2を準備するために次のようにOpenプロパティを使っています。

 Workbooks.Open Filename:="A:\AAA\BBB\CC明細表"

 マクロ(Workbooks.Open・・・)を実行した後、また同じマクロを実行すると、バグにな りますが、
 バグを避ける方法を教えてください。
   
 できましたら、同じマクロのフォームをクリックすると
 Workbooks("CC明細表").Activate
 に変更する方法は無いでしょうか。

【13380】Re:Open Filename:について
回答  Asaki  - 04/5/3(月) 22:26 -

引用なし
パスワード
   こんばんは。

Open前に、既に開いているかどうかチェックしては?
Sub test()
  Dim wb   As Workbook
On Error Resume Next
  Set wb = Workbooks("CC明細表.xls")
On Error GoTo 0
  If wb Is Nothing Then
    Set wb = Workbooks.Open(Filename:="A:\AAA\BBB\CC明細表.xls")
  Else
    wb.Activate
  End If

  Set wb = Nothing
End Sub

ところで、Aドライブになってますが、フロッピーのファイルを直接開こうとしてますか?
ファイルが壊れたりすることがあるので、あまりお勧めではありません。

また、言葉の使い方がヘンです。
>バグになりますが
この場合、エラーというのが適切でしょう。

>同じマクロのフォームをクリックすると
ここは意味が判りません。

【13390】Re:Open Filename:について
お礼  YN61  - 04/5/4(火) 8:23 -

引用なし
パスワード
   回答ありがとうございました。
On Errorの使い方が非常に勉強になりました。
また、言葉の間違いもご指摘ありがとうございます。

それからドライブがAですが、フロッピーを使っています。
ファイルが潰れやすいのですか。なんとなく頷けますが、
また、機会がありましたらその理由を教えてください。

フロッピーでマクロのデータ処理後、MOで保存という
ようなことをしているのですがあまり良くないですね。

一度の質問で多くの事柄を教えていただき感謝しています。
これからも、よろしくお願いいたします。

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