- ベストアンサー
Excelで条件によってデータを貼り付ける方法
- Excelでマクロを使用して「とある条件にあった場合、情報を貼り付ける」ことが可能です。具体的な例として、A列に文字が入っている場合、D列に別シートにある関数のセルを貼り付けることができます。
- 逆の場合、つまりA列に情報がない場合にも処理を行うことも可能です。また、条件を複数にしたり、さまざまな操作を組み合わせることもできます。
- Excelのマクロは簡単な記録機能から始めることができるため、マクロの知識が少ない方でも利用することができます。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>「YシートのA1に文字がない場合、WシートのA2セルをYシートのD1に貼り付ける」 >「YシートのA1に文字がなく、C列にも文字がある場合、WシートのA2セルをYシートのD1に貼り付ける」 この二つの違いが不明ですが。 取り敢えずYシートのA列に ・入力があればWシートのA1の数式を同じ行のD列に入れる。 ・値がクリアされたらWシートのA2の数式を同じ行のD列に入れる。 と言う条件としました。 (値の入力・クリアは複数セルには未対応。1つずつ行なうとしてます) Yシートのシートタブを右クリック>コードの表示で表示された シートモジュールにコピペ。 Private Sub Worksheet_Change(ByVal Target As Range) Dim ws As Worksheet Set ws = Worksheets("Wシート") 'シート名変更? With Target If .Column <> 1 Then Exit Sub If .Cells.Count > 1 Then Exit Sub If LenB(.Value) <> 0 Then .Offset(, 3).Formula = ws.Range("A1").Formula Else .Offset(, 3).Formula = ws.Range("A2").Formula End If End With End Sub シート名”Wシート”は変更願います。
その他の回答 (2)
- n-jun
- ベストアンサー率33% (959/2873)
ANo.1です。 WシートのA1やA2は固定ですか? 数式を代入するのか、値を代入するのか、どちらでしょう。
補足
固定で数式を入れます。 元々WシートのA1、A2には関数が入っているので、それをそのままコピー出来たらと思います。
- n-jun
- ベストアンサー率33% (959/2873)
>A列に文字が入っていた場合、D列に別シートにある関数のセル(★)を貼り付ける A列に文字が入った場合、別シートのどこのセルから貼り付けるのかが 不明です。 >この逆(A列に情報がない場合)や、条件を複数にしたり等も出来ればうれしいです。 詳細が不明です。 A列に文字がない時はどうしたいのか。 複数条件とは何を差すのか、そして何をしたいのか。
補足
わかりにくい説明ですみません。 例えば・・・ 作業ワークシート:Yシート 関数セルがあるワークシート:Wシート 「YシートのA1に文字があった場合は、WシートのA1セル(関数が入力されている)を、YシートのD1に貼り付け、 YシートのA1に文字がない(空白)の場合は、貼り付けない」 というのをやりたいです。 可能であれば、 「YシートのA1に文字がない場合、WシートのA2セルをYシートのD1に貼り付ける」 「YシートのA1に文字がなく、C列にも文字がある場合、WシートのA2セルをYシートのD1に貼り付ける」 というちょっと違うパターンなども出来れば嬉しいです。
お礼
出来ました! ありがとうございました。 シートモジュールというのを初めて知りました。 色々変えて試してみたいと思います。