- ベストアンサー
Excelで空白セルのコピーペーストに注意が必要な理由と対策方法を解説
- Excelで空白セルをコピーペーストする際、元の式が入力されたセルも一緒に選択されてしまうことがあります。これは、データベースに読み込む際に問題を引き起こす可能性があります。
- この問題を解決するには、特定の方法で空白セルを選択する必要があります。例えば、関数やVBAを使用して特定の条件下で空白セルを選択し、それをコピーペーストすることができます。
- また、新規ブックを作成してからコピーペーストする方法もあります。これにより、元の式が入力されたセルが含まれない範囲を選択することができます。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
以下のマクロは「見た目が空白の、ブランクじゃないセル」をクリアして、ブランクのセルにします。 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 なお「半角スペースや、全角スペースなど、見えない文字が入っている場合」はブランクにしません。
その他の回答 (2)
- emaxemax
- ベストアンサー率35% (44/124)
こんな方法もあります。 仮に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)
こんにちは 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 ではどうですか?
お礼
ありがとうございました。 uesdrangeをどう使うか迷っていたのですが、ご回答いただいたやり方で問題なく出来ました。 また是非、よろしくお願いいたします。