非表示の列があるワークシートに、非表示のセルがないデータを貼り付けるにはどうすればいいですか?

非表示の列があるワークシートに、非表示のセルがないデータを貼り付けるにはどうすればいいですか?

複数回コピー/貼り付けを行うのではなく、1 回のコピー/貼り付け操作で非表示の列にデータが貼り付けられないようにすることは可能ですか?

答え1

非表示の列をスキップしてデータを貼り付けるための、比較的最良かつ最速の方法を提案したいと思います。

コピー&ペースト前:

ここに画像の説明を入力してください

貼り付け後:

ここに画像の説明を入力してください

注意 ご覧のとおり、マクロは をスキップしhidden Column H、範囲 からデータを貼り付けますA1:C9

使い方:

  • 列を非表示にすると、この投稿はCol H非表示になります。

  • どちらか右クリックシートタブポップアップメニューから&をクリックコードを表示、またはAlt+F11、VB エディターを取得します。

  • コピーペーストこのVBAコード(マクロ)は標準モジュールそれから走るマクロテストコピーペースト

    Sub TestCopyPaste()
    
    CopySkippingHidden ActiveSheet.Range("A1:C9"), _
      ActiveSheet.Range("G1")
    
      End Sub
    

Sub CopySkippingHidden(rngToCopy As Range, pasteStart As Range)

    Dim c As Range


    For Each c In rngToCopy.Columns

        Do While pasteStart.EntireColumn.Hidden
            Set pasteStart = pasteStart.Offset(0, 1)
        Loop
        c.Copy pasteStart

        Set pasteStart = pasteStart.Offset(0, 1)

    Next c

End Sub
  • ActiveSheet.Range("A1:C9")ActiveSheet.Range("G1")は編集可能です。
  • A1:C9はコピー元の場所、はコピーG1したデータを貼り付ける先の場所です。
  • セル参照/データ範囲も調整できます。

関連情報