戻る  □一般操作のサロン  □ 使用方法  □ 新着記事  □ 新規に質問する!  □ トピック一覧  □ 検索  □ 過去ログ
[ 最新記事及び返信フォームをトピックトップへ ]
このトピック参照回数 :
指定したシートがない場合、そのシート対して実行するマクロを飛ばす方法

    [192335] 指定したシートがない場合、そのシート対して実行するマクロを飛ばす方法-

    ■親トピック/記事引用/メール受信=OFF■

    □投稿者/ 悟空 -(2020/06/29(15:27))
    □U R L/
      シート2、3がある場合は問題はないですが、シート3がない場合にエラーがでます。
      こういう場合に書き番号の7〜12のVBAを無視して、その次のVBAへエラー表示なく
      実行する方法はありますか?
      
      また、VBA以外にも回避する方法あれば教えてください。
      
      
      1  Sheets("Sheet2").Select
      2    Range("A1").Select
      3    Selection.Copy
      4    Sheets("Sheet1").Select
      5    Range("A2").Select
      6    ActiveSheet.Paste
      
      7  Sheets("Sheet3").Select
      8    Range("A1").Select
      9   Selection.Copy
      10   Sheets("Sheet1").Select
      11   Range("A3").Select
      12   ActiveSheet.Paste
      
      
      
      
      下記ではエラーはでませんが、VBAは実行されてしまいます。
      
      Sub Macro2()
      '
          On Error Resume Next
      
          Dim i As Integer
          
          i = "VBA"
         
      errorhndler:
      
          Sheets("Sheet2").Select
          Range("E8").Select
          Selection.Copy
          Sheets("Sheet1").Select
          Range("B5").Select
          ActiveSheet.Paste
      
      End Sub
      


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他




    [192337] Re[1]: 指定したシートがない場合、そのシート対して実行するマクロを飛ばす方法-

    記事引用/メール受信=OFF■

    □投稿者/ kazuo -(2020/06/29(17:00))
    □U R L/
      基本的にはシートがあるかを判断して、あれば実行、無ければなにもしないが良いと思います。
      
      Sub Macro3()
          If Evaluate("isref(Sheet2!A1)") Then
              Application.Range("Sheet2!A1").Copy Application.Range("Sheet1!A2")
          End If
          If Evaluate("isref(Sheet3!A1)") Then
              Application.Range("Sheet3!A1").Copy Application.Range("Sheet1!A3")
          End If
      End Sub
      


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他




    [192339] Re[2]: 指定したシートがない場合、そのシート対して実行するマクロを飛ばす方法-

    記事引用/メール受信=OFF■

    □投稿者/ 悟空 -(2020/06/30(09:04))
    □U R L/

      kazuo様ありがとうございます。
      もう一点教えてください。
      貼り付け先ですが、ActiveSheet.Pasteで行いたいのですが、どうすればいいですか?
      もしかしたら、貼り付け先が変更になる可能性がありまして。
      宜しくお願いします。




    [192342] Re[3]: 指定したシートがない場合、そのシート対して実行するマクロを飛ばす方法-

    保留中です・・・ / 記事引用/メール受信=OFF■

    □投稿者/ 悟空 -(2020/06/30(15:03))
    □U R L/

      kazuo様ありがとうございます。

      もう一点教えてください。
      貼り付け先ですが、ActiveSheet.Pasteで行いたいのですが、どうすればいいですか?
      もしかしたら、貼り付け先が変更になる可能性がありまして。
      宜しくお願いします。




    [192343] Re[4]: 指定したシートがない場合、そのシート対して実行するマクロを飛ばす方法-

    記事引用/メール受信=OFF■

    □投稿者/ kazuo -(2020/06/30(15:39))
    □U R L/
      ActiveSheet.Pasteなら
      すでに悟空さんは使っているじゃないですか。
      何故そんな質問を2回もするのですか?
      
      Sub Macro4()
          If Evaluate("isref(Sheet2!A1)") Then
              Application.Range("Sheet2!A1").Copy
              ActiveSheet.Paste Range("A2")
          End If
          If Evaluate("isref(Sheet3!A1)") Then
              Application.Range("Sheet3!A1").Copy
              ActiveSheet.Paste Range("A3")
          End If
      End Sub
      


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他




    [192345] Re[5]: 指定したシートがない場合、そのシート対して実行するマクロを飛ばす方法-

    記事引用/メール受信=OFF■

    □投稿者/ kazuo -(2020/06/30(15:52))
    □U R L/
      別のシートモジュールに書いたらそのシートに張り付いちゃいますね。
      きちんとシート指定するべきでしたので訂正します。
      
      Sub Macro5()
          If Evaluate("isref(Sheet2!A1)") Then
              Application.Range("Sheet2!A1").Copy
              ActiveSheet.Paste ActiveSheet.Range("A2")
          End If
          If Evaluate("isref(Sheet3!A1)") Then
              Application.Range("Sheet3!A1").Copy
              ActiveSheet.Paste ActiveSheet.Range("A3")
          End If
      End Sub
      


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他




    [192360] Re[6]: 指定したシートがない場合、そのシート対して実行するマクロを飛ばす方法-

    解決!!ありがとうございました! / 記事引用/メール受信=OFF■

    □投稿者/ 悟空 -(2020/07/01(15:19))
    □U R L/

      kazuo様

      ありがとうございました。

      保留にチェックしたと思っていたら、解決にチェックしてしまったようで、
      削除キーをいれてなかったので、削除ができず、再度同内容で書き込みして
      しまいました。



このトピック内容の全ページ数 / [0]

このトピックに書きこむ
Name/
E-Mail/

└>このツリーのレス記事をメールで受信しますか? YES/ NO/
Title/
URL/
Comment/ 通常モード->  図表モード-> (←の場合適当に改行を入れて下さい)
タグが使用できます。例 ⇒ <font color="blue">文字</font>
解決!!ありがとうございました! 解決       保留中です・・・ 保留        迷宮入りorほかあたって見ます・・ 迷宮入       すいませ〜ん。誰か〜! Help! ←※回答者専用
解決したらチェック       保留(コードテスト中など・・)         解決不可orレスが全く付かなくてほかのサイトに行くときなど・・
削除キー/
(半角8文字以内) 


- Child Forum -
Edit:ゆう-G