• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel 条件によってデータを貼り付ける方法)

Excelで条件によってデータを貼り付ける方法

このQ&Aのポイント
  • Excelでマクロを使用して「とある条件にあった場合、情報を貼り付ける」ことが可能です。具体的な例として、A列に文字が入っている場合、D列に別シートにある関数のセルを貼り付けることができます。
  • 逆の場合、つまりA列に情報がない場合にも処理を行うことも可能です。また、条件を複数にしたり、さまざまな操作を組み合わせることもできます。
  • Excelのマクロは簡単な記録機能から始めることができるため、マクロの知識が少ない方でも利用することができます。

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

  • ベストアンサー
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.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シート”は変更願います。

yotuba1000
質問者

お礼

出来ました! ありがとうございました。 シートモジュールというのを初めて知りました。 色々変えて試してみたいと思います。

その他の回答 (2)

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

ANo.1です。 WシートのA1やA2は固定ですか? 数式を代入するのか、値を代入するのか、どちらでしょう。

yotuba1000
質問者

補足

固定で数式を入れます。 元々WシートのA1、A2には関数が入っているので、それをそのままコピー出来たらと思います。

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

>A列に文字が入っていた場合、D列に別シートにある関数のセル(★)を貼り付ける A列に文字が入った場合、別シートのどこのセルから貼り付けるのかが 不明です。 >この逆(A列に情報がない場合)や、条件を複数にしたり等も出来ればうれしいです。 詳細が不明です。 A列に文字がない時はどうしたいのか。 複数条件とは何を差すのか、そして何をしたいのか。

yotuba1000
質問者

補足

わかりにくい説明ですみません。 例えば・・・ 作業ワークシート:Yシート 関数セルがあるワークシート:Wシート 「YシートのA1に文字があった場合は、WシートのA1セル(関数が入力されている)を、YシートのD1に貼り付け、 YシートのA1に文字がない(空白)の場合は、貼り付けない」 というのをやりたいです。 可能であれば、 「YシートのA1に文字がない場合、WシートのA2セルをYシートのD1に貼り付ける」 「YシートのA1に文字がなく、C列にも文字がある場合、WシートのA2セルをYシートのD1に貼り付ける」 というちょっと違うパターンなども出来れば嬉しいです。

関連するQ&A