前提
VBAを練習中です。
コピーしたシートに対して、セル範囲を変数に入れその範囲に対して処理を実施したいのですが、変数に入れると思った通りの動きになりません。
・1つのブック内での操作
・左から「sheet1」と「data」の2つシートがある
・「data」シートには表が入力されている(範囲はA1からF501まで。F列のみ空白多数あり。)
実現したいこと
「data」シートをコピーした後、コピーしたシートの表のデータ部分(A2:F501)を、値のみ削除したい
※コード②でやりたい事は出来ているのですが、変数を使って実現したいです。
※変数に入れた場合と入れない場合で動きが異なる理由が知りたいです。
該当のソースコード
コード①
Dim rng As Range
Set rng = Range("A2:F501")
Worksheets("data").copy After:=Worksheets(Worksheets.count)
rng.ClearContents
→dataシートのA2:F501の値が消える、
data(2)シートのA2:F501の値は消えない
コード②
Worksheets("data").copy After:=Worksheets(Worksheets.count)
Range("A2:F501").ClearContents
→dataシートのA2:F501の値は消えない
data(2)シートのA2:F501の値が消える
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/09/22 15:21
2022/09/22 15:58
2022/09/23 14:21