• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel 空白セルのコピペについて)

Excelで空白セルのコピーペーストに注意が必要な理由と対策方法を解説

このQ&Aのポイント
  • Excelで空白セルをコピーペーストする際、元の式が入力されたセルも一緒に選択されてしまうことがあります。これは、データベースに読み込む際に問題を引き起こす可能性があります。
  • この問題を解決するには、特定の方法で空白セルを選択する必要があります。例えば、関数やVBAを使用して特定の条件下で空白セルを選択し、それをコピーペーストすることができます。
  • また、新規ブックを作成してからコピーペーストする方法もあります。これにより、元の式が入力されたセルが含まれない範囲を選択することができます。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

以下のマクロは「見た目が空白の、ブランクじゃないセル」をクリアして、ブランクのセルにします。 Sub Macro1() Dim Target As Range For Each Target In ActiveSheet.UsedRange If Not IsNull(Target) And Target.Formula = "" Then Target.ClearContents End If Next End Sub なお「半角スペースや、全角スペースなど、見えない文字が入っている場合」はブランクにしません。

boly93
質問者

お礼

ありがとうございました。 uesdrangeをどう使うか迷っていたのですが、ご回答いただいたやり方で問題なく出来ました。 また是非、よろしくお願いいたします。

その他の回答 (2)

  • emaxemax
  • ベストアンサー率35% (44/124)
回答No.3

こんな方法もあります。 仮にA1:B10の範囲なら Sub test01() Dim myW myW = Sheets("Sheet1").Range("A1:B10").Value Sheets("Sheet2").Range("A1:B10").Value = myW End Sub

  • ushi2015
  • ベストアンサー率51% (241/468)
回答No.2

こんにちは Sub test()   Worksheets("Sheet1").Range("B:B").SpecialCells(xlCellTypeConstants) _     .Offset(, -1).Resize(, 2).Copy   Worksheets("Sheet2").Range("A1").PasteSpecial xlValues End Sub とか Sub test1()   Dim r As Range   With Worksheets("Sheet1")     Set r = .Range("B" & Rows.Count).End(xlUp)     .Range("B1", r).Offset(, -1).Resize(, 2).Copy   End With   Worksheets("Sheet2").Range("A1").PasteSpecial xlValues End Sub ではどうですか?

関連するQ&A