戻る  □一般操作のサロン  □ 使用方法  □ 新着記事  □ 新規に質問する!  □ トピック一覧  □ 検索  □ 過去ログ
[ 最新記事及び返信フォームをトピックトップへ ]
このトピック参照回数 :
値のリンクの更新をスキップする方法

    [189366] 値のリンクの更新をスキップする方法-

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

    □投稿者/ ソーダバー -(2019/05/20(14:24))
    □U R L/
      表のコピーを繰り返すマクロがあるのですが、セルの票の中にデータのリンクが入っていて、マクロがコピペをするたびに値の更新先を指定するようにウィンドウが開きます。コピー回数が100回近くあるのでいちいち更新先の指定を繰り返すのは面倒なのでこの作業を飛ばすマクロを教えてもらえないでしょうか?
      よろしくお願いします。
      
      Sub バッチ数分列を作る()
          
          Application.ScreenUpdating = False
          
          Dim i As Long
          
              i = 13
          
          Do
          '8列挿入
              Cells(1, i).Resize(, 8).EntireColumn.Insert
          'EからLをコピー
              Range("E:L").EntireColumn.Copy
          '挿入した8列にコピーを貼り付ける
              Cells(1, i).EntireColumn.PasteSpecial (xlPasteAll)
          
          Loop Until i >= 45 
          
          Application.CutCopyMode = False
          
          '5行目の列の11から8列ごとにバッチ数をセルに表示させる
          Dim b As Long
          Dim n As Long
          
              '最終列を求める
              n = Cells(5, Columns.Count).End(xlToLeft).Column
              
              For b = 11 To n Step 8  '列の11から8バッチ毎に
              
                  bc = ((b - 11) / 8) + 1 'バッチ数の計算
              
                  Cells(5, b).Value = bc  '5行目のb列にbcバッチを表示
              
              Next b
              
           Application.ScreenUpdating = True
           MsgBox "バッチ数分の表が完成しました。"
           
      End Sub
      


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

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




    [189367] Re[1]: 値のリンクの更新をスキップする方法-

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

    □投稿者/ ソーダバー -(2019/05/20(16:31))
    □U R L/
      自分なりに調べてコードを直してみたのですが、処理が重すぎるのか
      固まってしまいました。
      
      Sub バッチ数分列を作る()
          
          Application.ScreenUpdating = False
          
          Dim i As Long
          
              i = 13
          
          Do
          '8列挿入
              Cells(1, i).Resize(, 8).EntireColumn.Insert
          'EからLをコピー
              Range("E:L").EntireColumn.Copy
          '挿入した8列にコピーを貼り付ける
              Cells(1, i).EntireColumn.PasteSpecial (xlPasteAll)
              
               Application.DisplayAlerts = False
          
          Loop Until i >= 45 '今回は49バッチなので13+(49*8)=405なので405
          
          Application.CutCopyMode = False
          
          '5行目の列の11から8列ごとにバッチ数をセルに表示させる
          Dim b As Long
          Dim n As Long
          
              '最終列を求める
              n = Cells(5, Columns.Count).End(xlToLeft).Column
              
              For b = 11 To n Step 8  '列の11から8バッチ毎に
              
                  bc = ((b - 11) / 8) + 1 'バッチ数の計算
              
                  Cells(5, b).Value = bc  '5行目のb列にbcバッチを表示
              
              Next b
              
           Application.DisplayAlerts = True
           Application.ScreenUpdating = True
           MsgBox "バッチ数分の表が完成しました。"
           
      End Sub
      


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

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




    [189368] Re[2]: 値のリンクの更新をスキップする方法-

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

    □投稿者/ ぴんく -(2019/05/20(16:58))
    □U R L/
          Do
          '8列挿入
              Cells(1, i).Resize(, 8).EntireColumn.Insert
          'EからLをコピー
              Range("E:L").EntireColumn.Copy
          '挿入した8列にコピーを貼り付ける
              Cells(1, i).EntireColumn.PasteSpecial (xlPasteAll)
              
               Application.DisplayAlerts = False
          
          Loop Until i >= 45 '今回は49バッチなので13+(49*8)=405なので405
      
      どこでiの値が変わってDo Loopより抜け出せるのですか?


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

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




    [189369] Re[3]: 値のリンクの更新をスキップする方法-

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

    □投稿者/ ソーダバー -(2019/05/21(09:29))
    □U R L/
      ぴんく様
      
      >どこでiの値が変わってDo Loopより抜け出せるのですか?
      
      言われてみて気が付きました。
      i=i+8を間違って消していました。
      
      Do
          '8列挿入
              Cells(1, i).Resize(, 8).EntireColumn.Insert
          'EからLをコピー
              Range("E:L").EntireColumn.Copy
          '挿入した8列にコピーを貼り付ける
              Cells(1, i).EntireColumn.PasteSpecial (xlPasteAll)
              
          i=i+8 ’ここの部分を間違って消していました。  
      
               Application.DisplayAlerts = False
          
          Loop Until i >= 45 '今回は49バッチなので13+(49*8)=405なので405


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

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




    [189370] Re[4]: 値のリンクの更新をスキップする方法-

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

    □投稿者/ ぴんく -(2019/05/21(10:14))
    □U R L/
      参考に
      Sub Test()
          Dim n As Long, b As Long, バッチ数 As Long
      
          バッチ数 = 49
          Application.ScreenUpdating = False
          Application.DisplayAlerts = False
          Cells(1, 13).Resize(, バッチ数 * 8).EntireColumn.Insert
          Range("E:L").EntireColumn.Copy Cells(1, 13).Resize(, バッチ数 * 8)
          Application.DisplayAlerts = True
          
          n = Cells(5, Columns.Count).End(xlToLeft).Column
          For b = 11 To n Step 8  '列の11から8バッチ毎に
              Cells(5, b).Value = ((b - 11) / 8) + 1
          Next b
          Application.ScreenUpdating = True
          MsgBox "バッチ数分の表が完成しました。"
      End Sub
      


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

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




    [189371] Re[5]: 値のリンクの更新をスキップする方法-

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

    □投稿者/ ソーダバー -(2019/05/21(10:54))
    □U R L/

      ぴんく様

      回答ありがとうございます。
      うまくいきました。
      大変助かりました。



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

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

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


- Child Forum -
Edit:ゆう-G