2012-01-19 11 views
0

3番目のセルの値( 'yes'または空白)に基づいて、別のシートのセルにあるシートのセルの値をコピーしようとしています。 例:最初のシートの2番目のセルの値に基づいて、1つのセルから別のシートのセルにデータをコピーしますか?

Cell A1: Monday 
Cell B1: Yes 

コピーSheet2のセルB5への細胞A1の値B1 = Yes場合。セルB2が空の場合(または「いいえ」)何もしないでください。これは可能ですか?
私はif文を使ってそれをやろうとしていましたが、運がないのです。

[EDIT]ここに私のコードがある(しかし、それはまだ動作しません):あなたはSheet2の上でこの式を試すことができます

Sub ColorWhite() 
Range("B01:B15").Value = Yes 

With Selection.Font 
    .ThemeColor = x1ThemeColorDark1 
    .TintAndShade = 0 
End 

Range("B01:B15").Value Not Yes 
Selection.EntireRow.Hidden = True 

End Sub 

答えて

0

、セルB5

IF(Sheet1!B1 = "Yes", A1, "") 

確認したい場合両方B1 = YesB2nothingまたはNo

IF(AND(Sheet1!B1 = "Yes", OR(Sheet1!B2 = "", Sheet1!B2="No")), A1, "") 

してドラッグし、それが


を必要とされている範囲の上にドロップし、[EDIT]ここでは、VBAはあなたのコメントをもとにしてみてくださいです。理解し、適応しやすいように、私は(これを行うには、より効率的な方法があるでしょう)それをシンプルに保ち:提案のための

Sub ColorWhite() 
Dim c As Range 
For Each c In Worksheets("Sheet1").Range("B1:B15") 
    If c.Value = "Yes" Then 
     With Worksheets("Sheet2").Range(c.Address).Offset(0, -1) 
      .Value = Worksheets("Sheet1").Range(c.Address).Offset(0, -1).Value 
      With .Font 
       .ThemeColor = xlThemeColorDark1 
       .TintAndShade = 0 
      End With 
     End With 
    End If 
Next c 
End Sub 
+0

おかげで、私は私がしたいタスクを完了するために、別のアイデアが出ています残念ながら私はそれを実装するのが難しいです。 サブColorWhite() レンジ( "B01:B15")。値=はい レンジ( "B01:B15")でSelection.Font .ThemeColor = x1ThemeColorDark1 .TintAndShade = 0 ENDで。値ではありませんはい Selection.EntireRow.Hidden = True コードの最初の部分は優先されますが、2番目の部分は優先されません。 – Ckeane

+0

ありがとう@JMaxコード、多くの感謝します。 'Sub ColorWhite() Dim c As Range ワークシート( "Sheet1")の各範囲の範囲( "C121:C150") の場合c.Value = "Yes" Then 範囲(c.Address).Offset(0,0) 。値=ワークシート( "シート1")範囲(c.Address).Offset(0、0)。値 .Font .ThemeColor = xlThemeColorDark1 .TintAndShade = 0 終了で終了 終了で終了 終了の場合 次へ 終了サブ ' – Ckeane

+0

ありがとう、助けてくれて、コードはしたようにしました。ただし、セルの式が設定されたテキストに変更されました。ホームリボンメニューで条件付き書式設定を使用してコードの機能を実行するのははるかに簡単でしたが、条件付き書式設定ではセル式がそのまま保持されます。次に、「はい」と値を持たない行を非表示にする方法を見つけなければなりません。 if文を試しましたが、これはうまくいきません。 – Ckeane